metadataTransform
metadataTransform
component: metadata transformer. It uses the expression language provided by the expr (opens new window) library to transform metadata or create new metadata.
# Configuration
Field | Type | Description | Default Value |
---|---|---|---|
mapping | map | Transformation expressions, format (field: transformation expression) | None |
isNew | bool | Whether to create a new metadata list, true: create a new metadata list, false: update the corresponding metadata key | false |
- Access the message ID through the
${id}
variable. - Access the message timestamp through the
${ts}
variable. - Access the original content of the message through the
${data}
variable. - Access the message body through the
${msg}
variable. If the message's dataType is JSON, you can access the fields of${msg}
by${msg.XX}
. For example:${msg.temperature} > 50;
- Access the message metadata through the
${metadata}
variable. For example${metadata.customerName}
- Access the message type through the
${msgType}
variable. - Access the data type through the
${dataType}
variable.
Expression examples:
- upper(${msg.name})
- ${metadata.productType}
- ${msg.temperature}+50
- replace(${metadata.productType},'oldValue','newValue')
For more expr expression syntax, refer to: expr (opens new window)
# Relation Type
- Success: If executed successfully, send the message to the
Success
chain. - Failure: If execution fails, send the message to the
Failure
chain.
# Execution Result
Replace the metadata
content based on the expression execution result.
# Configuration Example
{
"id": "s1",
"type": "metadataTransform",
"name": "Metadata Transformation",
"configuration": {
"mapping": {
"name": "upper(${msg.name})",
"tmp": "${msg.temperature}",
"alarm": "${msg.temperature}>50",
"productType": "${metadata.productType}"
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# Related Documentation
Edit this page on GitHub (opens new window)
Last Updated: 2025/09/02, 11:02:23