将对象从 AWS Glacier 还原到 S3

Restore object from AWS Glacier to S3

我在 S3 中配置了生命周期策略,S3 中的一些对象存储在 Glacier 中 class,一些对象仍在 S3 中,现在我正在尝试从 Glacier 中恢复对象,我可以得到java AWS SDK 在 S3 中的对象列表,我如何通过 AWS SDK 知道哪个对象在 Glacier 存储中?原因是当我尝试恢复不在 Glacier 中的对象时,我会遇到异常。我想避免这种情况。

ListObjects Amazon S3 API 调用可用于获取给定存储桶中的对象列表。

返回的文件列表包括一个 StorageClass 字段。它可以是以下之一:

  • 标准
  • REDUCED_REDUNDANCY
  • 冰川

GLACIER存储class表示对象的内容当前在Glacier中。

将数据从 AWS Glacier 恢复到 S3 存储桶:

  1. 连接到任何 AWS EC2 实例
  2. 在 EC2 上安装 S3CMD
  3. s3cmd restore --restore-days=10 --recursive s3://bucketName/

注意:restore-days=10 --->数据将在 return 返回 Glacier 后的 10 天内可用。