为什么我的 Amazon S3 生命周期配置规则没有将对象转换成 GLACIER 存储类?
上次更新时间:2020 年 12 月 23 日
我在 S3 存储桶上设置了 Amazon Simple Storage Service (Amazon S3) 生命周期配置规则,它会将对象转换成 GLACIER 存储类。但是,当我检查存储桶时发现对象的存储类并未改变。是什么导致了延迟?
解决方法
因为以下原因,将对象转换成 GLACIER 存储类可能出现延迟:
- 如果对象为 STANDARD_IA 存储类,它们必须以 STANDARD_IA 存储至少 30 天,然后才能转换为 GLACIER。在检查转换存储类的规则前,请确认对象已经以 STANDARD_IA 存储超过 30 天。
- Amazon S3 生命周期配置规则每天只会在午夜 (UTC) 运行一次。在检查转换存储类的规则前,确认您所在的时区是否已过午夜 (UTC)。
- 存储桶内的对象总数会影响您在多久后才能观察到存储类的变化。如果存储桶包含大量对象,则您可能需要等更长时间才能看到存储类的变化。
注意:如果对象符合转换为不同存储类的条件,您将按照新存储类的定价支付相关费用。
您的使用案例的预期等待时间过后,您可以通过运行 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 版本。