从 Glacier 获取对象非常耗时,因此我决定改用 S3 IA 存储类。
我需要列出存储桶中具有 Glacier 存储类的所有对象(我通过 LifeCycle 策略配置它)并将其更改为 S3 IA。
有没有任何脚本或工具可以实现这一点?
你可以使用列表对象 http://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects.html
list-objects
将返回StorageClass
,在您的情况下,您想要过滤它所在的值GLACIER
aws s3api list-objects --bucket %bucket_name% --query 'Contents[?StorageClass==`GLACIER`]'
那么你想要的就是只获取匹配的 Key 列表
aws s3api list-objects --bucket %bucket_name% --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text
然后您将需要通过更改 Key 的存储类别来复制对象
aws s3api list-objects --bucket %bucket_name% --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text
| xargs -I {} aws s3 cp s3://bucket_name/{} s3://bucket_name/{} --storage-class STANDARD_IA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)