[ https://issues.apache.org/jira/browse/NIFI-1081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15000544#comment-15000544 ]
Mark Payne commented on NIFI-1081: ---------------------------------- I don't believe that "Output Destination Attribute" makes it seem like it is necessarily writing the output to an attribute, as the property is optional and the description indicates (or at least should indicate) that if not specified, the output is written to the content of the FlowFile. I believe both give the impression that it is a configurable thing - these are, after all, the configuration elements of the processor. The expression language, I feel, is a little bit "weird" - if you are writing the result to an attribute, presumably the point is so that you can reference that attribute later. If you are dynamically determining which attribute to assign the result to, it becomes very confusing how you would reference the attribute later. > Add option to ExecuteStreamCommand to put value of execution to an attribute > ---------------------------------------------------------------------------- > > Key: NIFI-1081 > URL: https://issues.apache.org/jira/browse/NIFI-1081 > Project: Apache NiFi > Issue Type: Improvement > Reporter: Joseph Percivall > Assignee: Joseph Percivall > Priority: Minor > Fix For: 0.4.0 > > Attachments: ExecuteStreamCommandTester.xml, > NIFI-1081_changes_from_code_review.patch > > > This issue arose from a user on the mailing list. It demonstrates the need to > be able to put the output of ExecuteStreamCommand to an attribute: > I'm looking to process many files into common formats. The source files are > coming in various character sets, mime types, and new line terminators. > My thinking for a data flow was along these lines: > GetFile (from many sub directories) -> > ExecuteStreamCommand (file -i) -> > ConvertCharacterSet (from previous command to utf8) -> > ReplaceText (to change any \r\n into \n) -> > PutFile (into a directory structure based on values found in the original > file path and filename) > Additional steps would be added for archiving a copy of the original, > converting xml files, etc. > Attempting to process these with Nifi leaves me confused as to how to process > within the tool. If I want to ConvertCharacterSet, I have to know the input > type. I setup a ExecuteStreamCommand to file -i > ${absolute.path:append(${filename})} which returned the expected values. I > don't see a way to turn these results into input for the processor, which > doesn't accept expression language for that field. > I also considered ConvertCSVToAvro as an interim step but notice the same > issue. Any suggestions what this dataflow should look like? > Bryan Bende's response: > One problem with the above flow is that ExecuteStreamCommand will replace the > contents of the FlowFile with the results of the command, so the FlowFIle > will have the encoding value and no longer have the original content. -- This message was sent by Atlassian JIRA (v6.3.4#6332)