我在 S3 桶上设置了 Amazon Simple Storage Service(Amazon S3)生命周期配置规则,它会将对象转换为 S3 Glacier 存储类。但是,当我检查桶时,我的对象的存储类没有发生改变。
解决方案
将对象转换到 Amazon S3 Glacier 存储类时,由于以下原因,可能会出现延迟:
- S3 Standard-IA 存储类中的对象必须在该类中存放 30 天,然后才能转换到 S3 Glacier。在检查规则是否转换了存储类之前,请确认这些对象在 S3 Standard-IA 中保存了至少 30 天。
- Amazon S3 生命周期配置规则每天运行一次。等到规则运行后再检查它是否转换了您的对象的存储类。
- 桶内的对象总数会影响您在多久后才能观察到存储类的变化。如果桶包含大量对象,则您可能需要等更长时间才能看到存储类的变化。
**注意:**在对象有资格转换到其他存储类后,您将根据新存储类的价格支付费用。
在预期的等待时间过后,在 AWS 命令行界面(AWS CLI)中运行 list-objects-v2 命令来检查存储类的变化:
aws s3api list-objects-v2 --bucket awsexamplebucket --prefix prefixname/ --query 'Contents[?StorageClass==`GLACIER`&&ends_with(Key, `/`) == `false`].[Key]' --output text | while read line1; do printf '\n'$line1'\n'; aws s3api head-object --bucket awsexamplebucket --key $line1 --query '[Restore]' --output text; done
**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI。
相关信息
使用 Amazon S3 生命周期转换对象