Update Attributes Based on Content
This Processor is very similar to the Route Based on Content Processors discussed above. Rather than routing a FlowFile to matched
or unmatched
, the FlowFile is generally routed to success
or failure
and attributes are added to the FlowFile as appropriate. The attributes to be added are configured in a manner similar to that of the Route Based on Content (One-to-Many), with the user defining their own properties. The name of the property indicates the name of an attribute to add. The value of the property indicates some Matching Criteria to be applied to the data. If the Matching Criteria matches the data, an attribute is added with the name the same as that of the Property. The value of the attribute is the criteria from the content that matched.
For example, a Processor that evaluates XPath Expressions may allow user-defined XPaths to be entered. If the XPath matches the content of a FlowFile, that FlowFile will have an attribute added with the name being equal to that of the Property name and a value equal to the textual content of the XML Element or Attribute that matched the XPath. The failure
relationship would then be used if the incoming FlowFile was not valid XML in this example. The success
relationship would be used regardless of whether or not any matches were found. This can then be used to route the FlowFile when appropriate.
This Processor emits a Provenance Event of type ATTRIBUTES_MODIFIED.