This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 0ade040  NIFI-9696 : DeleteS3Object don't have provenance
0ade040 is described below

commit 0ade040b76f232ecd394b1ed93c8d2c9134768bb
Author: lawye1973 <92093280+lawye1...@users.noreply.github.com>
AuthorDate: Thu Feb 17 22:39:56 2022 +0800

    NIFI-9696 : DeleteS3Object don't have provenance
    
    Changed from AmazonS3 to AmazonS3client.
    Add REMOTE_INVOCATION provenance event with URL and "Object deleted"
    
    This closes #5778
    
    Signed-off-by: Mike Thomsen <mthom...@apache.org>
---
 .../main/java/org/apache/nifi/processors/aws/s3/DeleteS3Object.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/DeleteS3Object.java
 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/DeleteS3Object.java
index ff4249b..b4dd500 100644
--- 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/DeleteS3Object.java
+++ 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/DeleteS3Object.java
@@ -22,7 +22,7 @@ import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3Client;
 import com.amazonaws.services.s3.model.DeleteObjectRequest;
 import com.amazonaws.services.s3.model.DeleteVersionRequest;
 
@@ -87,7 +87,7 @@ public class DeleteS3Object extends AbstractS3Processor {
         final String key = 
context.getProperty(KEY).evaluateAttributeExpressions(flowFile).getValue();
         final String versionId = 
context.getProperty(VERSION_ID).evaluateAttributeExpressions(flowFile).getValue();
 
-        final AmazonS3 s3 = getClient();
+        final AmazonS3Client s3 = getClient();
 
         // Deletes a key on Amazon S3
         try {
@@ -108,7 +108,9 @@ public class DeleteS3Object extends AbstractS3Processor {
         }
 
         session.transfer(flowFile, REL_SUCCESS);
+        final String url = s3.getResourceUrl(bucket, key);
         final long transferMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
         getLogger().info("Successfully delete S3 Object for {} in {} millis; 
routing to success", flowFile, transferMillis);
+        session.getProvenanceReporter().invokeRemoteProcess(flowFile, url, 
"Object deleted");
     }
 }

Reply via email to