You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Aldrin Piri (JIRA)" <ji...@apache.org> on 2018/05/18 20:19:00 UTC

[jira] [Resolved] (MINIFICPP-403) Enable tagging of flowfiles with flow metadata information in C++

     [ https://issues.apache.org/jira/browse/MINIFICPP-403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aldrin Piri resolved MINIFICPP-403.
-----------------------------------
       Resolution: Fixed
         Assignee: marco polo  (was: bqiu)
    Fix Version/s:     (was: 1.0.0)
                   0.5.0

> 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: marco polo
>            Priority: Minor
>             Fix For: 0.5.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)