如何通过生命周期配置使用 boto3 更改 S3 存储桶文件夹中所有对象的存储类别?

Muh*_*jid 0 python amazon-s3 amazon-web-services boto3

任何人都可以分享使用 boto3 更改 S3 存储桶文件夹中所有对象的存储类别的代码片段。

Séb*_*acq 5

如S3 存储类文档中所述,您可以在将对象放入 S3 上时或通过复制现有对象来定义存储类。

x-amz-storage-class存储类别在API 调用的 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'
Run Code Online (Sandbox Code Playgroud)

使用 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')

Run Code Online (Sandbox Code Playgroud)

put()参阅新对象以及copy_from()复制对象和更改其存储类别。