【发布时间】:2017-11-09 13:39:24
【问题描述】:
我在 AWS AMI 中运行我的应用程序。 AMI 通过云形成模板启动,该模板使用sts:AssumeRole 创建AWS::IAM::Role 角色。 EC2 实例启动后,我使用 boto3.create_bucket 从 Ec2 实例创建一个 S3 存储桶。
在我的应用程序中,我将一个文件上传到创建的存储桶,并启用了加密标志。但是在上传时出现错误:
com.amazonaws.services.s3.model.AmazonS3Exception: 不支持 x-amz-server-side-encryption 标头 手术。 (服务:Amazon S3;状态代码:400;错误代码: 无效的论点;请求 ID:04DD9259D04F92CA),S3 扩展请求 ID: EVdqFn6jUNshxUejZFWa6VN/lHPXHyi0F+TG+UZ3K9Sh8Gy0MPABi1AnxZloIajypLb39/5UAVA=
这是我的代码的服务器端加密部分:
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(contentLength);
meta.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION)
我做错了什么?当我在其他地方运行我的代码并使用 S3 存储桶时,这可以按预期工作。这是否与云的形成或sts:AssumeRole有关?
【问题讨论】:
标签: amazon-s3 boto3 aws-java-sdk amazon-cloudformation