Amazon s3 如何在大于5GB的S3对象上更新元数据?
我正在使用boto3 API更新对象上的S3元数据 我在利用 我的代码如下所示:Amazon s3 如何在大于5GB的S3对象上更新元数据?,amazon-s3,boto3,Amazon S3,Boto3,我正在使用boto3 API更新对象上的S3元数据 我在利用 我的代码如下所示: s3_object = s3.Object(bucket,key) new_metadata = {'foo':'bar'} s3_object.metadata.update(new_metadata) s3_object.copy_from(CopySource={'Bucket':bucket,'Key':key}, Metadata=s3_object.metadata, M
s3_object = s3.Object(bucket,key)
new_metadata = {'foo':'bar'}
s3_object.metadata.update(new_metadata)
s3_object.copy_from(CopySource={'Bucket':bucket,'Key':key}, Metadata=s3_object.metadata, MetadataDirective='REPLACE')
当对象大于5GB时,此代码失败。我得到这个错误:
botocore.exceptions.ClientError: An error occurred (InvalidRequest) when calling the CopyObject operation: The specified copy source is larger than the maximum allowable size for a copy source: 5368709120
如何更新大于5GB的对象上的元数据?由于对象的大小,请尝试调用多部分上载并使用copy_from参数。有关更多信息,请参见此处的boto3文档:
显然,您不能只更新元数据-您需要将对象重新复制到S3。您可以将其从s3复制回s3,但不能只进行更新,这对于100-500GB范围内的对象来说很烦人。但我不会上载对象。。。?