[ https://issues.apache.org/jira/browse/MINIFICPP-403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16481143#comment-16481143 ]
ASF GitHub Bot commented on MINIFICPP-403: ------------------------------------------ Github user asfgit closed the pull request at: https://github.com/apache/nifi-minifi-cpp/pull/331 > Enable tagging of flowfiles with flow metadata information in C++ > ----------------------------------------------------------------- > > Key: MINIFICPP-403 > URL: https://issues.apache.org/jira/browse/MINIFICPP-403 > Project: NiFi MiNiFi C++ > Issue Type: Improvement > Affects Versions: 1.0.0 > Reporter: bqiu > Assignee: bqiu > Priority: Minor > Fix For: 1.0.0 > > > Provide framework level support to tag flowfiles with metadata about the flow > that created them. > Design proposal > Right now, MiNiFi support core attributes likeĀ > // FlowFile Attribute > enum FlowAttribute { > // The flowfile's path indicates the relative directory to which a FlowFile > belongs and does not contain the filename > PATH = 0, > // The flowfile's absolute path indicates the absolute directory to which a > FlowFile belongs and does not contain the filename > ABSOLUTE_PATH, > // The filename of the FlowFile. The filename should not contain any > directory structure. > FILENAME, > // A unique UUID assigned to this FlowFile. > UUID, > // A numeric value indicating the FlowFile priority > priority, > // The MIME Type of this FlowFile > MIME_TYPE, > // Specifies the reason that a FlowFile is being discarded > DISCARD_REASON, > // Indicates an identifier other than the FlowFile's UUID that is known to > refer to this FlowFile. > ALTERNATE_IDENTIFIER, > MAX_FLOW_ATTRIBUTES > }; > So one approach is in the flow YAML file, specific the list of core flow > attributes along with the processors that inject/import/create the flow files. > When flow was created/imported/injected by this processor, we can apply these > core attributes to the new flow. > Also user can define their own core attributes template and EL for populate > value for these core attributes, for example protocol, TTL, record route > (expected route), key, version, etc. > In current implementation, FILENAME, PATH and UUID are required attributes > when flow was created, others are optional > // Populate the default attributes > addKeyedAttribute(FILENAME, > std::to_string(getTimeNano())); > addKeyedAttribute(PATH, DEFAULT_FLOWFILE_PATH); > addKeyedAttribute(UUID, > getUUIDStr()) > So if user specify the optional meta flow info section for the processor with > the key/value pairs as above, MiNiFI will add these key attributes to the > flow when flow was created by this processor. -- This message was sent by Atlassian JIRA (v7.6.3#76005)