[ 
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 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...

  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}}.

This issue proposes the introduction of an additional such "type", namely 
{{RemoveXYZ}} which removes a resource. 

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.

TODO ..


> 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 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...



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to