package
2.15.1+incompatible
Repository: https://github.com/jeffail/benthos.git
Documentation: pkg.go.dev
# Functions
Block replaces the constructor of a Benthos processor such that its construction will always return an error.
ClearFail removes any existing failure flags from a message part.
Descriptions returns a formatted string of collated descriptions of each type.
DocumentPlugin adds a description and an optional configuration sanitiser function to the definition of a registered plugin.
ExecuteAll attempts to execute a slice of processors to a message.
ExecuteCatchAll attempts to execute a slice of processors to only messages that have failed a processing step.
ExecuteTryAll attempts to execute a slice of processors to messages, if a message has failed a processing step it is prevented from being sent to subsequent processors.
FlagErr marks a message part as having failed at a processing step with an error message.
FlagFail marks a message part as having failed at a processing step.
HasFailed checks whether a message part has failed a processing step.
IteratePartsWithSpan iterates the parts of a message according to a slice of indexes (if empty all parts are iterated) and calls a func for each part along with a tracing span for that part.
New creates a processor type based on a processor configuration.
NewArchive returns a Archive processor.
NewArchiveConfig returns a ArchiveConfig with default values.
NewAvro returns an Avro processor.
NewAvroConfig returns a AvroConfig with default values.
NewAWK returns a AWK processor.
NewAWKConfig returns a AWKConfig with default values.
NewBatch returns a Batch processor.
NewBatchConfig returns a BatchConfig with default values.
NewBoundsCheck returns a BoundsCheck processor.
NewBoundsCheckConfig returns a BoundsCheckConfig with default values.
NewCache returns a Cache processor.
NewCacheConfig returns a CacheConfig with default values.
NewCatch returns a Catch processor.
NewCatchConfig returns a default CatchConfig.
NewCompress returns a Compress processor.
NewCompressConfig returns a CompressConfig with default values.
NewConditional returns a Conditional processor.
NewConditionalConfig returns a default ConditionalConfig.
NewConfig returns a configuration struct fully populated with default values.
NewDAGDepsConfig returns a default DAGDepsConfig.
NewDecode returns a Decode processor.
NewDecodeConfig returns a DecodeConfig with default values.
NewDecompress returns a Decompress processor.
NewDecompressConfig returns a DecompressConfig with default values.
NewDedupe returns a Dedupe processor.
NewDedupeConfig returns a DedupeConfig with default values.
NewDepProcessMapConfig returns a default DepProcessMapConfig.
NewEncode returns a Encode processor.
NewEncodeConfig returns a EncodeConfig with default values.
NewFilter returns a Filter processor.
NewFilterConfig returns a FilterConfig with default values.
NewFilterParts returns a FilterParts processor.
NewFilterPartsConfig returns a FilterPartsConfig with default values.
NewForEach returns a ForEach processor.
NewForEachConfig returns a default ForEachConfig.
NewGrok returns a Grok processor.
NewGrokConfig returns a GrokConfig with default values.
NewGroupBy returns a GroupBy processor.
NewGroupByConfig returns a GroupByConfig with default values.
NewGroupByValue returns a GroupByValue processor.
NewGroupByValueConfig returns a GroupByValueConfig with default values.
NewHash returns a Hash processor.
NewHashConfig returns a HashConfig with default values.
NewHashSample returns a HashSample processor.
NewHashSampleConfig returns a HashSampleConfig with default values.
NewHTTP returns a HTTP processor.
NewHTTPConfig returns a HTTPConfig with default values.
NewInsertPart returns a InsertPart processor.
NewInsertPartConfig returns a InsertPartConfig with default values.
NewJMESPath returns a JMESPath processor.
NewJMESPathConfig returns a JMESPathConfig with default values.
NewJSON returns a JSON processor.
NewJSONConfig returns a JSONConfig with default values.
NewLambda returns a Lambda processor.
NewLambdaConfig returns a LambdaConfig with default values.
NewLog returns a Log processor.
NewLogConfig returns a LogConfig with default values.
NewMergeJSON returns a MergeJSON processor.
NewMergeJSONConfig returns a MergeJSONConfig with default values.
NewMetadata returns a Metadata processor.
NewMetadataConfig returns a MetadataConfig with default values.
NewMetric returns a Metric processor.
NewMetricConfig returns a MetricConfig with default values.
NewNoop returns a Noop processor.
NewNumber returns a Number processor.
NewNumberConfig returns a NumberConfig with default values.
NewParallel returns a Parallel processor.
NewParallelConfig returns a default ParallelConfig.
NewProcessBatch returns a ForEach processor.
NewProcessDAG returns a ProcessField processor.
NewProcessDAGConfig returns a default ProcessDAGConfig.
NewProcessField returns a ProcessField processor.
NewProcessFieldConfig returns a default ProcessFieldConfig.
NewProcessMap returns a ProcessField processor.
NewProcessMapConfig returns a default ProcessMapConfig.
NewRateLimit returns a RateLimit processor.
NewRateLimitConfig returns a RateLimitConfig with default values.
NewSample returns a Sample processor.
NewSampleConfig returns a SampleConfig with default values.
NewSelectParts returns a SelectParts processor.
NewSelectPartsConfig returns a SelectPartsConfig with default values.
NewSleep returns a Sleep processor.
NewSleepConfig returns a SleepConfig with default values.
NewSplit returns a Split processor.
NewSplitConfig returns a SplitConfig with default values.
NewSQL returns a SQL processor.
NewSQLConfig returns a SQLConfig with default values.
NewSubprocess returns a Subprocess processor.
NewSubprocessConfig returns a SubprocessConfig with default values.
NewSwitch returns a Switch processor.
NewSwitchCaseConfig returns a new SwitchCaseConfig with default values.
NewSwitchConfig returns a default SwitchConfig.
NewText returns a Text processor.
NewTextConfig returns a TextConfig with default values.
NewThrottle returns a Throttle processor.
NewThrottleConfig returns a ThrottleConfig with default values.
NewTry returns a Try processor.
NewTryConfig returns a default TryConfig.
NewUnarchive returns a Unarchive processor.
NewUnarchiveConfig returns a UnarchiveConfig with default values.
NewWhile returns a While processor.
NewWhileConfig returns a default WhileConfig.
NewXML returns a XML processor.
NewXMLConfig returns a XMLConfig with default values.
PluginCount returns the number of registered plugins.
PluginDescriptions generates and returns a markdown formatted document listing each registered plugin and an example configuration for it.
RegisterPlugin registers a plugin by a unique name so that it can be constructed similar to regular processors.
SanitiseConfig returns a sanitised version of the Config, meaning sections that aren't relevant to behaviour are removed.
# Constants
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
String constants representing each processor type.
# Variables
Constructors is a map of all processor types with their specs.
FailFlagKey is a metadata key used for flagging processor errors in Benthos.
# Structs
Archive is a processor that can selectively archive parts of a message into a single part using a chosen archive type.
ArchiveConfig contains configuration fields for the Archive processor.
Avro is a processor that performs an operation on an Avro payload.
AvroConfig contains configuration fields for the Avro processor.
AWK is a processor that executes AWK programs on a message part and replaces the contents with the result.
AWKConfig contains configuration fields for the AWK processor.
Batch is a processor that combines messages into a batch until a size limit or other condition is reached, at which point the batch is sent out.
BoundsCheck is a processor that checks each message against a set of bounds and rejects messages if they aren't within them.
BoundsCheckConfig contains configuration fields for the BoundsCheck processor.
Cache is a processor that stores or retrieves data from a cache for each message of a batch via an interpolated key.
CacheConfig contains configuration fields for the Cache processor.
Catch is a processor that applies a list of child processors to each message of a batch individually, where processors are skipped for messages that failed a previous processor step.
Compress is a processor that can selectively compress parts of a message as a chosen compression algorithm.
CompressConfig contains configuration fields for the Compress processor.
Conditional is a processor that only applies child processors under a certain condition.
ConditionalConfig is a config struct containing fields for the Conditional processor.
Config is the all encompassing configuration struct for all processor types.
DAGDepsConfig is a config containing dependency based configuration values for a ProcessDAG child.
Decode is a processor that can selectively decode parts of a message following a chosen scheme.
DecodeConfig contains configuration fields for the Decode processor.
Decompress is a processor that can decompress parts of a message following a chosen compression algorithm.
DecompressConfig contains configuration fields for the Decompress processor.
Dedupe is a processor that deduplicates messages either by hashing the full contents of message parts or by hashing the value of an interpolated string.
DedupeConfig contains configuration fields for the Dedupe processor.
DepProcessMapConfig contains a superset of a ProcessMap config and some DAG specific fields.
Encode is a processor that can selectively encode parts of a message following a chosen scheme.
EncodeConfig contains configuration fields for the Encode processor.
Filter is a processor that checks each message against a condition and rejects the message if a condition returns false.
FilterConfig contains configuration fields for the Filter processor.
FilterParts is a processor that checks each part from a message against a condition and removes the part if the condition returns false.
FilterPartsConfig contains configuration fields for the FilterParts processor.
ForEach is a processor that applies a list of child processors to each message of a batch individually.
Grok is a processor that executes Grok queries on a message part and replaces the contents with the result.
GrokConfig contains configuration fields for the Grok processor.
GroupBy is a processor that group_bys messages into a message per part.
GroupByElement represents a group determined by a condition and a list of group specific processors.
GroupByValue is a processor that breaks message batches down into N batches of a smaller size according to a function interpolated string evaluated per message part.
GroupByValueConfig is a configuration struct containing fields for the GroupByValue processor, which breaks message batches down into N batches of a smaller size according to a function interpolated string evaluated per message part.
Hash is a processor that can selectively hash parts of a message following a chosen algorithm.
HashConfig contains configuration fields for the Hash processor.
HashSample is a processor that removes messages based on a sample factor by hashing its contents.
HashSampleConfig contains configuration fields for the HashSample processor.
HTTP is a processor that performs an HTTP request using the message as the request body, and returns the response.
HTTPConfig contains configuration fields for the HTTP processor.
InsertPart is a processor that inserts a new message part at a specific index.
InsertPartConfig contains configuration fields for the InsertPart processor.
JMESPath is a processor that executes JMESPath queries on a message part and replaces the contents with the result.
JMESPathConfig contains configuration fields for the JMESPath processor.
JSON is a processor that performs an operation on a JSON payload.
JSONConfig contains configuration fields for the JSON processor.
Lambda is a processor that invokes an AWS Lambda using the message as the request body, and returns the response.
LambdaConfig contains configuration fields for the Lambda processor.
Log is a processor that prints a log event each time it processes a message.
LogConfig contains configuration fields for the Log processor.
MergeJSON is a processor that merges JSON parsed message parts into a single value.
MergeJSONConfig contains configuration fields for the MergeJSON processor.
Metadata is a processor that performs an operation on the Metadata of a message.
MetadataConfig contains configuration fields for the Metadata processor.
Metric is a processor that creates a metric from extracted values from a message part.
MetricConfig contains configuration fields for the Metric processor.
Noop is a no-op processor that does nothing.
Number is a processor that performs number based operations on payloads.
NumberConfig contains configuration fields for the Number processor.
Parallel is a processor that applies a list of child processors to each message of a batch individually.
ParallelConfig is a config struct containing fields for the Parallel processor.
ProcessDAG is a processor that applies a list of child processors to a new payload mapped from the original, and after processing attempts to overlay the results back onto the original payloads according to more mappings.
ProcessField is a processor that applies a list of child processors to a field extracted from the original payload.
ProcessFieldConfig is a config struct containing fields for the ProcessField processor.
ProcessMap is a processor that applies a list of child processors to a new payload mapped from the original, and after processing attempts to overlay the results back onto the original payloads according to more mappings.
ProcessMapConfig is a config struct containing fields for the ProcessMap processor.
RateLimit is a processor that performs an RateLimit request using the message as the request body, and returns the response.
RateLimitConfig contains configuration fields for the RateLimit processor.
Sample is a processor that drops messages based on a random sample.
SampleConfig contains configuration fields for the Sample processor.
SelectParts is a processor that selects parts from a message to append to a new message.
SelectPartsConfig contains configuration fields for the SelectParts processor.
Sleep is a processor that limits the stream of a pipeline to one message batch per period specified.
SleepConfig contains configuration fields for the Sleep processor.
Split is a processor that splits messages into a message per part.
SplitConfig is a configuration struct containing fields for the Split processor, which breaks message batches down into batches of a smaller size.
SQL is a processor that executes an SQL query for each message.
SQLConfig contains configuration fields for the SQL processor.
Subprocess is a processor that executes a command.
SubprocessConfig contains configuration fields for the Subprocess processor.
Switch is a processor that only applies child processors under a certain condition.
SwitchCaseConfig contains a condition, processors and other fields for an individual case in the Switch processor.
Text is a processor that performs a text based operation on a payload.
TextConfig contains configuration fields for the Text processor.
Throttle is a processor that limits the stream of a pipeline to one message batch per period specified.
ThrottleConfig contains configuration fields for the Throttle processor.
Try is a processor that applies a list of child processors to each message of a batch individually, where processors are skipped for messages that failed a previous processor step.
TypeSpec Constructor and a usage description for each processor type.
Unarchive is a processor that can selectively unarchive parts of a message following a chosen archive type.
UnarchiveConfig contains configuration fields for the Unarchive processor.
While is a processor that applies child processors for as long as a child condition resolves to true.
WhileConfig is a config struct containing fields for the While processor.
XML is a processor that performs an operation on a XML payload.
XMLConfig contains configuration fields for the XML processor.
# Interfaces
Type reads a message, performs a processing operation, and returns either a slice of messages resulting from the process to be propagated through the pipeline, or a response that should be sent back to the source instead.
# Type aliases
BatchConfig contains configuration fields for the Batch processor.
CatchConfig is a config struct containing fields for the Catch processor.
ForEachConfig is a config struct containing fields for the ForEach processor.
GroupByConfig is a configuration struct containing fields for the GroupBy processor, which breaks message batches down into N batches of a smaller size according to conditions.
PluginConfigConstructor is a func that returns a pointer to a new and fully populated configuration struct for a plugin type.
PluginConfigSanitiser is a function that takes a configuration object for a plugin and returns a sanitised (minimal) version of it for printing in examples and plugin documentation.
PluginConstructor is a func that constructs a Benthos processor plugin.
ProcessDAGConfig is a config struct containing fields for the ProcessDAG processor.
SwitchConfig is a config struct containing fields for the Switch processor.
TryConfig is a config struct containing fields for the Try processor.