【发布时间】:2016-09-03 17:58:33
【问题描述】:
使用 AWS S3 服务时,我需要将现有密钥的存储类别从 STANDARD 更改为 STANDARD_IA。
来自boto的change_storage_class在boto3中不存在。
Boto3 中的等价物是什么?
【问题讨论】:
标签: amazon-web-services amazon-s3 boto3
使用 AWS S3 服务时,我需要将现有密钥的存储类别从 STANDARD 更改为 STANDARD_IA。
来自boto的change_storage_class在boto3中不存在。
Boto3 中的等价物是什么?
【问题讨论】:
标签: amazon-web-services amazon-s3 boto3
您还可以更改已存储在 Amazon S3 中的对象的存储类,方法是将其复制到同一存储桶中的相同键名。为此,您可以在 PUT 对象复制请求中使用以下请求标头:
x-amz-metadata-directive设置为COPYx-amz-storage-class设置为STANDARD、STANDARD_IA或REDUCED_REDUNDANCY
就 boto3 copy code 而言,这看起来像
import boto3
s3 = boto3.client('s3')
copy_source = {
'Bucket': 'mybucket',
'Key': 'mykey'
}
s3.copy(
copy_source, 'mybucket', 'mykey',
ExtraArgs = {
'StorageClass': 'STANDARD_IA',
'MetadataDirective': 'COPY'
}
)
【讨论】:
copy 方法是托管传输。如果文件大小超过 5GB,则如有必要,它将在多个线程中使用多部分副本。