【问题标题】:How to change storage class of object in s3 bucket using boto3?如何使用 boto3 更改 s3 存储桶中对象的存储类别?
【发布时间】:2021-03-22 10:23:01
【问题描述】:

我正在尝试将 S3 中对象的存储类从标准更改为 IA 这类似于this 线程。但我想使用 boto3 和 lambda 触发器来实现。

谢谢

【问题讨论】:

  • 您能否告诉我们您的存储桶有多少对象?如果数量很大,您可能需要设置生命周期策略。
  • 我的桶中有大约 100k 个对象

标签: python-3.x amazon-web-services amazon-s3 boto3


【解决方案1】:

你可以使用copy_object类:

您可以使用 CopyObject 操作通过 StorageClass 参数更改已存储在 Amazon S3 中的对象的存储类

例如:

import boto3

s3 = boto3.client('s3')

bucket_name = '<your bucket-name>'
object_key = '<your-object-key>'

r = s3.copy_object(
    CopySource=f"{bucket_name}/{object_key}",
    Bucket=bucket_name,
    Key=object_key,
    StorageClass='STANDARD_IA')
    
print(r)

【讨论】:

  • 会产生任何费用吗?
  • @NicWanavit 如果你有 100k 个对象,那么 jellycsc 写的生命周期会更好。对于 S3,您 pay 进行 API 调用。
猜你喜欢
  • 1970-01-01
  • 2018-03-29
  • 1970-01-01
  • 2020-07-07
  • 2021-05-09
  • 2015-09-14
  • 1970-01-01
  • 2021-03-29
  • 2018-05-08
相关资源
最近更新 更多