amazon-s3 - 带有 ContentEncoding 参数的 boto3 s3 copy_object

标签 amazon-s3 copy boto3 content-encoding

我正在尝试使用如下所示的 boto3 命令复制 s3 对象

import boto3 
client = boto3.client('s3')
client.copy_object(Bucket=bucket_name, ContentEncoding='gzip', CopySource=copy_source, Key=new_key)

复制对象成功,但ContentEncoding元数据没有添加到对象。

当我使用控制台添加 Content-Encoding 元数据时,没有问题。

但是使用 python boto3 复制命令,它不能这样做。

这是关于client.copy_object()的文档链接

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.copy_object

应用版本是这样的。

python=2.7.16

boto3=1.0.28

botocore=1.13.50

提前谢谢你。

最佳答案

尝试将 MetadataDirective='REPLACE' 添加到您的 copy_object 调用中

client.copy_object(Bucket=bucket_name, ContentEncoding='gzip', CopySource=copy_source, Key=new_key, MetadataDirective='REPLACE')

关于amazon-s3 - 带有 ContentEncoding 参数的 boto3 s3 copy_object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60483946/

相关文章:

batch-file - CMD - 将文件从多个文件夹复制到一个文件夹

amazon-web-services - 直接查询时AWS describe_containers返回空

amazon-web-services - 如何使用boto3通过另一个帐户的SQS订阅一个帐户的SNS主题?

python - Python Moto 库出现“找不到请求的资源”错误

javascript - S3 putObject 回调不返回预期的对象

Python S3 Boto 生成带有 SignatureDoesNotMatch 错误的 URL

mysql - AWS Lambda 在代码中间停止执行

amazon-web-services - AWS 用户无权执行 PassRole

javascript - 如何粘贴我在剪贴板上复制的输入文本内容,按下 CSS 或 JS 按钮

gradle - 用gradle复制树并改变结构?