List of usage examples for com.amazonaws.services.s3 Headers COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5
String COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5
To view the source code for com.amazonaws.services.s3 Headers COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5.
Click Source Link
From source file:com.streamsets.pipeline.lib.aws.s3.S3Accessor.java
License:Apache License
public EncryptionMetadataBuilder createEncryptionMetadataBuilder() { return () -> { ObjectMetadata metadata = null;/*from w w w . j ava 2s .c om*/ if (sseConfigs != null) { switch (sseConfigs.getEncryption()) { case NONE: metadata = null; break; case S3: metadata = new ObjectMetadata(); metadata.setSSEAlgorithm(SSEAlgorithm.AES256.getAlgorithm()); break; case KMS: metadata = new ObjectMetadata(); metadata.setSSEAlgorithm(SSEAlgorithm.KMS.getAlgorithm()); metadata.setHeader(Headers.SERVER_SIDE_ENCRYPTION_AWS_KMS_KEYID, sseConfigs.getKmsKeyId().get()); metadata.setHeader("x-amz-server-side-encryption-context", sseConfigs.getEncryptionContext().entrySet().stream().collect( Collectors.toMap(e -> e.getKey(), e -> Caller.call(() -> e.getValue().get())))); break; case CUSTOMER: metadata = new ObjectMetadata(); metadata.setSSECustomerAlgorithm(SSEAlgorithm.AES256.getAlgorithm()); metadata.setHeader(Headers.SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY, sseConfigs.getCustomerKey().get()); metadata.setHeader(Headers.COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5, sseConfigs.getCustomerKeyMd5().get()); break; default: throw new IllegalArgumentException( String.format("Invalid encryption option '%s'", sseConfigs.getEncryption())); } } return metadata; }; }
From source file:com.streamsets.pipeline.stage.destination.s3.FileHelper.java
License:Apache License
protected ObjectMetadata getObjectMetadata() throws StageException { ObjectMetadata metadata = null;/* ww w . ja v a 2s. c o m*/ if (s3TargetConfigBean.sseConfig.useSSE) { metadata = new ObjectMetadata(); switch (s3TargetConfigBean.sseConfig.encryption) { case S3: metadata.setSSEAlgorithm(SSEAlgorithm.AES256.getAlgorithm()); break; case KMS: metadata.setSSEAlgorithm(SSEAlgorithm.KMS.getAlgorithm()); metadata.setHeader(Headers.SERVER_SIDE_ENCRYPTION_AWS_KMS_KEYID, s3TargetConfigBean.sseConfig.kmsKeyId.get()); if (!s3TargetConfigBean.sseConfig.encryptionContext.isEmpty()) { metadata.setHeader("x-amz-server-side-encryption-context", s3TargetConfigBean.sseConfig.resolveEncryptionContext()); } break; case CUSTOMER: metadata.setSSECustomerAlgorithm(SSEAlgorithm.AES256.getAlgorithm()); metadata.setHeader(Headers.SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY, s3TargetConfigBean.sseConfig.customerKey.get()); metadata.setHeader(Headers.COPY_SOURCE_SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5, s3TargetConfigBean.sseConfig.customerKeyMd5.get()); break; default: throw new IllegalStateException( Utils.format("Unknown encryption option: ", s3TargetConfigBean.sseConfig.encryption)); } } return metadata; }