= redpanda_data_transform :type: processor :status: experimental :categories: ["Utility"] //// THIS FILE IS AUTOGENERATED! To make changes, edit the corresponding source file under: https://github.com/redpanda-data/connect/tree/main/internal/impl/. And: https://github.com/redpanda-data/connect/tree/main/cmd/tools/docs_gen/templates/plugin.adoc.tmpl //// // © 2024 Redpanda Data Inc. component_type_dropdown::[] Executes a Redpanda Data Transform as a processor Introduced in version 4.31.0. [tabs] ====== Common:: + -- ```yml # Common config fields, showing default values label: "" redpanda_data_transform: module_path: "" # No default (required) input_key: "" # No default (optional) output_key: "" # No default (optional) input_headers: include_prefixes: [] include_patterns: [] output_metadata: include_prefixes: [] include_patterns: [] ``` -- Advanced:: + -- ```yml # All config fields, showing default values label: "" redpanda_data_transform: module_path: "" # No default (required) input_key: "" # No default (optional) output_key: "" # No default (optional) input_headers: include_prefixes: [] include_patterns: [] output_metadata: include_prefixes: [] include_patterns: [] timestamp: ${! timestamp_unix() } # No default (optional) timeout: 10s max_memory_pages: 1600 ``` -- ====== This processor executes a Redpanda Data Transform WebAssembly module, calling OnRecordWritten for each message being processed. You can find out about how transforms work here: https://docs.igiven.com/current/develop/data-transforms/how-transforms-work/[https://docs.igiven.com/current/develop/data-transforms/how-transforms-work/^] == Fields === `module_path` The path of the target WASM module to execute. *Type*: `string` === `input_key` An optional key to populate for each message. This field supports xref:configuration:interpolation.adoc#bloblang-queries[interpolation functions]. *Type*: `string` === `output_key` An optional name of metadata for an output message key. *Type*: `string` === `input_headers` Determine which (if any) metadata values should be added to messages as headers. *Type*: `object` === `input_headers.include_prefixes` Provide a list of explicit metadata key prefixes to match against. *Type*: `array` *Default*: `[]` ```yml # Examples include_prefixes: - foo_ - bar_ include_prefixes: - kafka_ include_prefixes: - content- ``` === `input_headers.include_patterns` Provide a list of explicit metadata key regular expression (re2) patterns to match against. *Type*: `array` *Default*: `[]` ```yml # Examples include_patterns: - .* include_patterns: - _timestamp_unix$ ``` === `output_metadata` Determine which (if any) message headers should be added to the output as metadata. *Type*: `object` === `output_metadata.include_prefixes` Provide a list of explicit metadata key prefixes to match against. *Type*: `array` *Default*: `[]` ```yml # Examples include_prefixes: - foo_ - bar_ include_prefixes: - kafka_ include_prefixes: - content- ``` === `output_metadata.include_patterns` Provide a list of explicit metadata key regular expression (re2) patterns to match against. *Type*: `array` *Default*: `[]` ```yml # Examples include_patterns: - .* include_patterns: - _timestamp_unix$ ``` === `timestamp` An optional timestamp to set for each message. When left empty, the current timestamp is used. This field supports xref:configuration:interpolation.adoc#bloblang-queries[interpolation functions]. *Type*: `string` ```yml # Examples timestamp: ${! timestamp_unix() } timestamp: ${! metadata("kafka_timestamp_unix") } ``` === `timeout` The maximum period of time for a message to be processed *Type*: `string` *Default*: `"10s"` === `max_memory_pages` The maximum amount of wasm memory pages (64KiB) that an individual wasm module instance can use *Type*: `int` *Default*: `1600`