Extract Field Action
Provided by: "Apache Software Foundation"
Support Level for this Kamelet is: "Stable"
Extract a field from the message body.
The extract field action expects an application/json
content type.
The field parameter specifies which field in the JSON to extract. By default, the message body is overridden with the extracted field.
The optional parameter headerOutput
specifies whether the extracted field should be stored in a message header named 'CamelKameletsExtractFieldName', leaving the message body untouched.
The optional parameter headerOutputName
specifies a custom header name instead of the default 'CamelKameletsExtractFieldName'. This parameter must be used in conjunction with headerOutput
. If no headerOutputName
parameter is provided, the default 'CamelKameletsExtractFieldName' is used.
The optional parameter strictHeaderCheck
enables a strict header name check. If enabled, the action checks if the header output name (custom or default) is already used in the exchange. If so, the extracted field is stored in the message body, if not, the extracted field is stored in the selected header (custom or default).
The headerOutput
/headerOutputName
/strictHeaderCheck
parameters are particulary useful in case you would like to reuse an extracted field as parameter for another header, for example.
Configuration Options
The following table summarizes the configuration options available for the extract-field-action
Kamelet:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
Field | Required The name of the field to extract. | string | |||
Header Output | If enable the action will store the extracted field in an header named CamelKameletsExtractFieldName. | boolean | false | ||
Header Output Name | A custom name for the header containing the extracted field. | string | none | ||
Strict Header Check | If enabled the action will check if the header output name (custom or default) has been used already in the exchange. If so, the extracted field is stored in the message body, if not, the extracted field is stored in the selected header (custom or default). | boolean | false | ||
Trim Field | If enabled we return the Raw extracted field. | boolean | false |
Dependencies
At runtime, the extract-field-action
Kamelet relies upon the presence of the following dependencies:
-
camel:kamelet
-
camel:core
-
camel:jackson
-
camel:kafka
Camel JBang usage
Prerequisites
-
You’ve installed JBang.
-
You have executed the following command:
jbang app install camel@apache/camel
Supposing you have a file named route.yaml with this content:
- route:
from:
uri: "kamelet:timer-source"
parameters:
period: 10000
message: 'test'
steps:
- to:
uri: "kamelet:extract-field-action"
parameters:
.
.
.
- to:
uri: "kamelet:log-sink"
You can now run it directly through the following command
camel run route.yaml