Example usage for com.amazonaws.services.s3.model InitiateMultipartUploadRequest getObjectMetadata

List of usage examples for com.amazonaws.services.s3.model InitiateMultipartUploadRequest getObjectMetadata

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model InitiateMultipartUploadRequest getObjectMetadata.

Prototype

public ObjectMetadata getObjectMetadata() 

Source Link

Document

Returns the additional information about the new object being created, such as content type, content encoding, user metadata, etc.

Usage

From source file:org.apache.nifi.processors.aws.s3.encryption.service.StandardS3ServerSideEncryptionService.java

License:Apache License

public void encrypt(InitiateMultipartUploadRequest initiateMultipartUploadRequest) {
    if (encryptionMethod == null)
        return;//from  ww  w.j av a2  s .  c o  m

    if (encryptionMethod.equals(METHOD_SSE_S3)) {
        getLogger().info("Encrypting multipart object using SSE-S3");
        initiateMultipartUploadRequest.getObjectMetadata()
                .setSSEAlgorithm(algorithm == null ? ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION : algorithm);
    }

    if (encryptionMethod.equals(METHOD_SSE_KMS)) {
        getLogger().info("Encrypting multipart object using SSE-KMS");
        initiateMultipartUploadRequest.setSSEAwsKeyManagementParams(
                kmsKeyId == null ? new SSEAwsKeyManagementParams() : new SSEAwsKeyManagementParams(kmsKeyId));
    }

    if (encryptionMethod.equals(METHOD_SSE_C)) {
        getLogger().info("Encrypting multipart object using SSE-C");
        if (StringUtils.isNotBlank(customerKey)) {
            initiateMultipartUploadRequest.setSSECustomerKey(new SSECustomerKey(customerKey));
        }

        String sseCustomerAlgorithm = customerAlgorithm == null ? ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION
                : customerAlgorithm;
        initiateMultipartUploadRequest.getObjectMetadata().setSSECustomerAlgorithm(sseCustomerAlgorithm);

        if (StringUtils.isNotBlank(customerKeyMD5)) {
            initiateMultipartUploadRequest.getObjectMetadata().setSSECustomerKeyMd5(customerKeyMD5);
        }
    }
}