[ https://issues.apache.org/jira/browse/NIFI-12841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
endzeit updated NIFI-12841: --------------------------- Description: There is the notion of "families" or "types" of processors in the standard distribution of NiFi. Among others, these are {{ListXYZ}}, {{GetXYZ}}, {{FetchXYZ}}, {{UpdateXYZ}}, and {{PutXYZ}}. The following examples will be based on files on the local filesystem. However, the same principle applies to other types of resources, e.g. files on a SFTP server. The existing {{GetFile}} and {{FetchFile}} processors support the removal of the resource from the source after successful transfer into the content of a FlowFile. However, in some scenarios it might be undesired to remove the resource until it has been processed successfully and the transformation result be stored, e.g. to a secure network storage. This cannot be achieved with a {{GetXYZ}} or {{FetchXYZ}} processor on its own. As of now, one of the scripting processors or even a full-fledged custom processor can be used to achieve this. This issue proposes the introduction of an additional such processor "type", namely {{RemoveXYZ}} which removes a resource. The base processor should have two properties, namely {{path}} and {{filename}}, by default retrieving their values from the respective core FlowFile attributes. Implementations may add protocol specific properties, e.g. for authentication. There should be three outgoing relationships at least: - "success" for FlowFiles, where the resource was removed from the source, - "not exists" for FlowFiles, where the resource did (no longer) exist on the source, - "failure" for FlowFiles, where the resource couldn't be removed from the source, e.g. due to network errors or missing permissions. An initial implementation should provide {{RemoveXYZ}} for one of the existing resources types, e.g. File, FTP, SFTP... was: There is the notion of "families" or "types" of processors in the standard distribution of NiFi. Among others, these are {{ListXYZ}}, {{GetXYZ}}, {{FetchXYZ}}, {{UpdateXYZ}}, and {{PutXYZ}}. The following examples will be based on files on the local filesystem. However, the same principle applies to other types of resources, e.g. files on a SFTP server. The existing {{GetFile}} and {{FetchFile}} processors support the removal of the resource from the source after successful transfer into the content of a FlowFile. However, in some scenarios it might be undesired to remove the resource until it has been processed successfully and the transformation result be stored, e.g. to a secure network storage. This cannot be achieved with the {{GetXYZ}} or {{FetchXYZ}} processor on its own. As of now, one of the scripting processors or even a full-fledged custom processor can be used to achieve this. This issue proposes the introduction of an additional such processor "type", namely {{RemoveXYZ}} which removes a resource. The base processor should have two properties, namely {{path}} and {{filename}}, by default retrieving their values from the respective core FlowFile attributes. Implementations may add protocol specific properties, e.g. for authentication. There should be three outgoing relationships at least: - "success" for FlowFiles, where the resource was removed from the source, - "not exists" for FlowFiles, where the resource did (no longer) exist on the source, - "failure" for FlowFiles, where the resource couldn't be removed from the source, e.g. due to network errors or missing permissions. An initial implementation should provide {{RemoveXYZ}} for one of the existing resources types, e.g. File, FTP, SFTP... > Introduce RemoveXYZ type of processors > -------------------------------------- > > Key: NIFI-12841 > URL: https://issues.apache.org/jira/browse/NIFI-12841 > Project: Apache NiFi > Issue Type: Improvement > Reporter: endzeit > Priority: Minor > > There is the notion of "families" or "types" of processors in the standard > distribution of NiFi. > Among others, these are {{ListXYZ}}, {{GetXYZ}}, {{FetchXYZ}}, {{UpdateXYZ}}, > and {{PutXYZ}}. > The following examples will be based on files on the local filesystem. > However, the same principle applies to other types of resources, e.g. files > on a SFTP server. > The existing {{GetFile}} and {{FetchFile}} processors support the removal of > the resource from the source after successful transfer into the content of a > FlowFile. > However, in some scenarios it might be undesired to remove the resource until > it has been processed successfully and the transformation result be stored, > e.g. to a secure network storage. > This cannot be achieved with a {{GetXYZ}} or {{FetchXYZ}} processor on its > own. > As of now, one of the scripting processors or even a full-fledged custom > processor can be used to achieve this. > This issue proposes the introduction of an additional such processor "type", > namely {{RemoveXYZ}} which removes a resource. > The base processor should have two properties, namely {{path}} and > {{filename}}, by default retrieving their values from the respective core > FlowFile attributes. Implementations may add protocol specific properties, > e.g. for authentication. > There should be three outgoing relationships at least: > - "success" for FlowFiles, where the resource was removed from the source, > - "not exists" for FlowFiles, where the resource did (no longer) exist on the > source, > - "failure" for FlowFiles, where the resource couldn't be removed from the > source, e.g. due to network errors or missing permissions. > An initial implementation should provide {{RemoveXYZ}} for one of the > existing resources types, e.g. File, FTP, SFTP... -- This message was sent by Atlassian Jira (v8.20.10#820010)