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.