任何人都可以使用boto3共享用于更改S3存储桶文件夹中所有对象的存储类别的代码段。
答案 0 :(得分:1)
如S3 Storage Class documentation中所述,您可以在将对象放置在S3上时或通过对现有对象进行复制来定义存储类。
存储类在API调用的x-amz-storage-class
HTTP标头中定义。
使用Boto3,您可以在对象创建时使用以下代码指定存储类:
import boto3
s3 = boto3.resource('s3')
object = s3.Object('bucket_name','key')
object.put(StorageClass='STANDARD')
# accepted values are 'STANDARD' |'REDUCED_REDUNDANCY'|'STANDARD_IA'|'ONEZONE_IA'|'INTELLIGENT_TIERING'|'GLACIER'
使用Boto3,您可以通过复制以下代码来更改存储类:
import boto3
s3 = boto3.resource('s3')
object = s3.Object('new_bucket_name','newkey')
object.copy_from(CopySource = { Bucket: 'old_bucket_name', 'Key': 'old_key'}, StorageClass='STANDARD')
请参见put()
中的新对象,以及copy_from()
以复制对象并更改其存储类。