pvillard31 commented on code in PR #10460:
URL: https://github.com/apache/nifi/pull/10460#discussion_r2463877948
##########
nifi-extension-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/s3/AbstractS3Processor.java:
##########
@@ -207,230 +147,120 @@ public abstract class AbstractS3Processor extends
AbstractAWSCredentialsProvider
.defaultValue("false")
.build();
- /**
- * Create client using credentials provider. This is the preferred way for
creating clients
- */
- @Override
- protected AmazonS3Client createClient(final ProcessContext context, final
AWSCredentialsProvider credentialsProvider, final Region region,
- final ClientConfiguration config,
final AwsClientBuilder.EndpointConfiguration endpointConfiguration) {
- getLogger().info("Creating client with credentials provider");
- initializeSignerOverride(context, config);
- AmazonS3EncryptionService encryptionService =
context.getProperty(ENCRYPTION_SERVICE).asControllerService(AmazonS3EncryptionService.class);
-
- final Consumer<AmazonS3Builder<?, ?>> clientBuilder = builder -> {
- if (endpointConfiguration == null) {
- builder.withRegion(region.getName());
- } else {
- builder.withEndpointConfiguration(endpointConfiguration);
- }
- builder.withClientConfiguration(config);
- builder.withCredentials(credentialsProvider);
-
- final Boolean useChunkedEncoding =
context.getProperty(USE_CHUNKED_ENCODING).asBoolean();
- if (useChunkedEncoding == Boolean.FALSE) {
- builder.disableChunkedEncoding();
- }
-
- final Boolean usePathStyleAccess =
context.getProperty(USE_PATH_STYLE_ACCESS).asBoolean();
- final boolean endpointOverrideSet =
!StringUtils.trimToEmpty(context.getProperty(ENDPOINT_OVERRIDE).evaluateAttributeExpressions().getValue()).isEmpty();
- if (usePathStyleAccess == Boolean.TRUE || endpointOverrideSet) {
- builder.withPathStyleAccessEnabled(true);
- }
- };
-
- AmazonS3 s3Client = null;
- if (encryptionService != null) {
- s3Client = encryptionService.createEncryptionClient(clientBuilder);
- }
- if (s3Client == null) {
- final AmazonS3ClientBuilder builder = AmazonS3Client.builder();
- clientBuilder.accept(builder);
- s3Client = builder.build();
- }
-
- return (AmazonS3Client) s3Client;
- }
-
+ // maps AWS SDK v1 CannedAccessControlList to v2 ObjectCannedACL
+ private static final Map<String, ObjectCannedACL> CANNED_ACL_MAPPING =
Map.of(
+ "Private", ObjectCannedACL.PRIVATE,
+ "PublicRead", ObjectCannedACL.PUBLIC_READ,
+ "PublicReadWrite", ObjectCannedACL.PUBLIC_READ_WRITE,
+ "AuthenticatedRead", ObjectCannedACL.AUTHENTICATED_READ,
+ "LogDeliveryWrite", ObjectCannedACL.UNKNOWN_TO_SDK_VERSION,
Review Comment:
Yeah I agree with you, I think this is the best approach
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]