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.