NIFI-1225: When ENDPOINT_OVERRIDE is set, use PathStyleAccess

Reviewed by Mark Payne <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/8f92ac99
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/8f92ac99
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/8f92ac99

Branch: refs/heads/master
Commit: 8f92ac99318edd05f261932cdffd24fcaf4afb49
Parents: fcc032c
Author: Tony Kurc <[email protected]>
Authored: Tue Dec 1 20:06:43 2015 -0500
Committer: Tony Kurc <[email protected]>
Committed: Tue Dec 1 20:33:21 2015 -0500

----------------------------------------------------------------------
 .../nifi/processors/aws/s3/AbstractS3Processor.java    | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/8f92ac99/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
index 3803158..e01efcb 100644
--- 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
+++ 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.processor.ProcessContext;
@@ -30,6 +31,7 @@ import com.amazonaws.ClientConfiguration;
 import com.amazonaws.auth.AWSCredentials;
 import com.amazonaws.regions.Region;
 import com.amazonaws.services.s3.AmazonS3Client;
+import com.amazonaws.services.s3.S3ClientOptions;
 import com.amazonaws.services.s3.model.AccessControlList;
 import com.amazonaws.services.s3.model.CanonicalGrantee;
 import com.amazonaws.services.s3.model.EmailAddressGrantee;
@@ -103,7 +105,16 @@ public abstract class AbstractS3Processor extends 
AbstractAWSProcessor<AmazonS3C
 
     @Override
     protected AmazonS3Client createClient(final ProcessContext context, final 
AWSCredentials credentials, final ClientConfiguration config) {
-        return new AmazonS3Client(credentials, config);
+        final AmazonS3Client s3 = new AmazonS3Client(credentials, config);
+
+        // if ENDPOINT_OVERRIDE is set, use PathStyleAccess
+        
if(StringUtils.trimToEmpty(context.getProperty(ENDPOINT_OVERRIDE).getValue()).isEmpty()
 == false){
+            final S3ClientOptions s3Options = new S3ClientOptions();
+            s3Options.setPathStyleAccess(true);
+            s3.setS3ClientOptions(s3Options);
+        }
+
+        return s3;
     }
 
     protected Grantee createGrantee(final String value) {

Reply via email to