Documentation
¶
Index ¶
Constants ¶
const TransformInvalidFactoryConfig = errors.Error("TransformInvalidFactoryConfig")
TransformInvalidFactoryConfig is returned when an unsupported Transform is referenced in Factory.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Process ¶
Process transforms data by applying processors. Each processor is enabled through conditions. This transform uses process Slicers to iteratively modify slices of bytes.
Below is an example that shows how a single JSON object is iteratively modified through this transform:
{"hello":"world"} // input event
{"hello":"world","foo":"bar"} // insert value "bar" into key "foo"
{"hello":"world","foo":"bar","baz":"qux"} // insert value "qux" into key "bar"
{"hello":"world","foo":"bar.qux"} // concat vaues from "foo" and "baz" into key "foo" with separator "."
The transform uses this Jsonnet configuration:
{
type: 'process',
processors: [
{
"settings": {
"condition": {
"inspectors": [ ],
"operator": ""
},
"input": {
"key": "@this"
},
"options": {
"algorithm": "sha256"
},
"output": {
"key": "event.hash"
}
},
"type": "hash"
},
]
}
type Transfer ¶
type Transfer struct{}
Transfer transforms data without modification. This transform should be used when data needs to be moved from a source to a sink without data processing.
The transform uses this Jsonnet configuration:
{
type: 'transfer',
}
type Transform ¶
type Transform interface {
Transform(context.Context, <-chan []byte, chan<- []byte, chan struct{}) error
}
Transform is an interface for transforming data as it moves from a source to a sink. Transforms read bytes from and write bytes to channels, may optionally modify bytes, and are interruptable via an anonymous struct channel.