恢复已归档的对象
以下存储类或存储层中的 Amazon S3 对象已归档,无法实时访问:
-
S3 Glacier Flexible Retrieval 存储类
-
S3 Glacier Deep Archive 存储类
-
S3 Intelligent-Tiering 归档访问层
-
S3 Intelligent-Tiering 深度归档访问层
无法立即访问存储在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类中的 Amazon S3 对象。要访问这些存储类中的对象,您必须在指定的持续时间(天数)内将该对象的临时副本还原到其 S3 桶。如果您想要该对象的永久副本,请还原该对象,然后在 Amazon S3 桶中创建该对象的一个副本。Amazon S3 控制台不支持复制已还原的对象。对于这种类型的复制操作,请使用 AWS Command Line Interface(AWS CLI)、AWS SDK 或 REST API。除非您制作副本并更改其存储类,否则对象仍将存储在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类中。有关使用这些存储类的信息,请参阅极少访问的对象的存储类。
要访问 S3 Intelligent-Tiering 归档访问层和深度归档访问层中的对象,您必须启动还原请求,并等待对象移动到频繁访问层。从归档访问层或深度归档访问层进行还原时,对象会转换回 频繁访问层中。有关使用这些存储类的信息,请参阅用于自动优化访问模式不断变化或未知的数据的存储类。
有关归档对象的一般信息,请参阅使用归档的对象。
注意
-
当您从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类还原存档对象时,您需要同时为存档对象和临时还原的副本付费。
-
从 S3 Intelligent-Tiering 还原对象时,标准检索或批量检索不收取检索费用。
-
对已还原的存档对象调用的后续还原请求将作为
GET
请求计费。有关定价的信息,请参阅 Amazon S3 定价。
恢复已归档的对象
您可以使用 Amazon S3 控制台、Amazon S3 REST API、AWS SDK、AWS Command Line Interface(AWS CLI)或 S3 批量操作还原归档的对象。
使用 Amazon S3 控制台还原对象
使用以下过程还原已归档到 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类或 S3 Intelligent-Tiering 归档访问或深度归档访问存储层的对象。
还原已归档的对象
登录到AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择存储桶。
-
在 Buckets(桶)列表中,选择包含您想要还原的对象的桶的名称。
-
在 Objects(对象)列表中,选择要还原的一个或多个对象,再选择 Actions(操作),然后选择 Initiate restore(启动还原)。
-
如果要从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 进行还原,请在还原的副本可用的天数框中输入您希望归档数据可供访问的天数。
-
对于检索层,执行以下操作之一:
-
选择批量检索或标准检索,然后选择启动还原。
-
选择 Expedited retrieval(加急检索)(仅适用于 S3 Glacier Flexible Retrieval 或 S3 Intelligent-Tiering 归档访问)。如果您要还原 S3 Glacier Flexible Retrieval 中的对象,则可以选择是否要购买预调配容量来进行加速检索。如果要购买预调配容量,请继续执行下一步。否则,请选择启动还原。
注意
S3 Intelligent-Tiering 归档访问层和深度归档访问层中的对象会自动还原到频繁访问层。
-
-
(可选)如果您要还原 S3 Glacier Flexible Retrieval 中的对象,并且您选择了加速检索,您可以选择是否购买预调配容量。预调配容量仅适用于 S3 Glacier Flexible Retrieval 中的对象。如果您已有预调配容量,请选择 启动还原以开始预调配检索。
如果您有预调配容量,则您的预调配容量可处理您的所有加速检索。有关更多信息,请参阅 预调配容量。
-
如果您没有预调配容量并且不想购买,请选择启动还原。
-
如果您没有预调配容量,但要购买预调配容量单位(PCU),请选择购买 PCU。在购买 PCU 对话框中,选择要购买的 PCU 数量,确认购买,然后选择购买 PCU。在收到购买成功消息后,选择启动还原以开始预调配检索。
-
从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 还原对象
以下示例使用 restore-object
命令还原桶
中的对象 amzn-s3-demo-bucket
,时间为 25 天。dir1/example.obj
aws s3api restore-object --bucket
amzn-s3-demo-bucket
--keydir1/example.obj
--restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'
如果示例中使用的 JSON 句法导致 Windows 客户端错误,则使用如下句法替换还原请求:
--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}
从 S3 Intelligent-Tiering 归档访问和深度归档访问还原对象
以下示例使用 restore-object
命令将桶
中的对象 amzn-s3-demo-bucket
还原到频繁访问层dir1/example.obj
aws s3api restore-object --bucket
amzn-s3-demo-bucket
--keydir1/example.obj
--restore-request '{}'
注意
与 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 存储类不同,S3 Intelligent-Tiering 对象的还原请求不接受该 Days
值。
监控还原状态
要监控 restore-object
请求的状态,请使用以下 head-object
命令:
aws s3api head-object --bucket
amzn-s3-demo-bucket
--keydir1/example.obj
有关更多信息,请参阅 AWS CLI 命令参考 中的 restore-object。
Amazon S3 向您提供了用于启动归档对象还原的 API 操作。有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 RestoreObject。
有关如何使用 AWS SDK 还原 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 中的归档对象的示例,请参阅《Amazon S3 API 参考》中的 Code examples。
要使用单个请求还原多个归档对象,您可以使用 S3 批量操作。您为 S3 批量操作提供要操作的对象列表。S3 批量操作调用相应的 API 操作来执行指定的操作。单个批量操作任务可对包含 EB 级数据的数十亿个对象执行指定操作。
要创建批量操作任务,您必须有一个仅包含要还原的对象的清单。您可以使用 S3 清单来创建清单,也可以提供包含必要信息的 CSV 文件。有关更多信息,请参阅 指定清单。
在创建和运行 S3 批量操作任务之前,您必须向 Amazon S3 授予代表您执行 S3 批量操作的权限。有关所需的权限,请参阅授予批处理操作的权限。
注意
批量操作任务既可以在 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 存储类对象上运行,也可以在 S3 Intelligent-Tiering 归档访问和深度归档访问存储层对象上运行。批量操作不能在同一个任务中对两种类型的归档对象进行操作。要还原两种类型的对象,必须创建单独的分批操作任务。
有关使用批量操作还原归档对象的更多信息,请参阅使用批量操作还原对象。
创建 S3 启动还原对象批量操作任务
登录到AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择批量操作。
-
选择创建任务。
-
对于 AWS 区域,选择要在其中创建任务的区域。
-
在清单格式下,请选择要使用的清单类型。
-
如果您选择 S3 清单报告,请输入 Amazon S3 作为 CSV 格式清单报告的一部分生成的
manifest.json
对象的路径。如果要使用除最新版本之外的清单版本,请输入manifest.json
对象的版本 ID。 -
如果您选择 CSV,请输入 CSV 格式清单对象的路径。清单对象必须遵循控制台中描述的格式。如果要使用除最新版本之外的版本,则可以选择包含清单对象的版本 ID。
-
-
选择下一步。
-
在操作部分,选择还原。
-
在还原部分,对于还原源,选择 Glacier Flexible Retrieval 或 Glacier Deep Archive 或 Intelligent-Tiering 归档访问层或深度归档访问层。
如果您选择 Glacier Flexible Retrieval 或 Glacier Deep Archive,则为还原的副本可用的天数输入一个数字。
对于检索层,选择要使用的层。
-
选择下一步。
-
在配置其他选项页面上,填写以下部分:
-
在其他选项部分,提供任务的描述并指定该任务的优先级编号。编号越大,优先级越高。有关更多信息,请参阅 分配任务优先级。
-
在完成报告部分中,选择批量操作是否应创建完成报告。有关完成报告的更多信息,请参阅完成报告。
-
在权限部分,您必须向 Amazon S3 授予代表您执行批量操作的权限。有关所需的权限,请参阅授予批处理操作的权限。
-
(可选)在任务标签部分,以键值对方式添加标签。有关更多信息,请参阅 使用标签控制访问和标记任务。
完成后,选择下一步。
-
-
在 Review (审核) 页面上,验证设置。如果需要进行更改,请选择 Previous。否则,请选择创建任务。
有关批量操作的更多信息,请参阅使用批量操作还原对象和创建 S3 批量操作任务。
检查还原状态和到期日期
您可以使用 Amazon S3 控制台、Amazon S3 事件通知、AWS CLI 或 Amazon S3 REST API 查看还原请求的状态或到期日期。
注意
从 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 存储类还原的对象仅存储您指定的天数。以下过程将返回这些副本的到期日期。
从 S3 Intelligent-Tiering 存档访问和深度存档访问存储层还原的对象没有到期日期,而是移回到频繁访问层。
在 Amazon S3 控制台中检查对象的还原状态和过期日期
通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择存储桶。
-
在桶列表中,选择包含待还原对象的桶的名称。
-
在对象列表中,选择要还原的对象。此时将显示对象的详细信息页面。
-
如果还原未完成,则在页面顶部,您会看到一个部分显示正在还原。
-
如果还原已完成,则在页面顶部,您会看到一个部分显示还原完成。如果您从 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 中进行还原,则此部分还会显示还原过期日期。在该日期,Amazon S3 将删除归档对象的已还原副本。
-
通过使用 s3:ObjectRestore:Completed
操作与 Amazon S3 事件通知特征,您可以收到对象还原完成的通知。有关启用事件通知的更多信息,请参阅 Enabling notifications by using Amazon SQS, Amazon SNS, and AWS Lambda。有关各种 ObjectRestore
事件类型的更多信息,请参阅SQS、SNS 和 Lambda 支持的事件类型。
使用 AWS CLI 检查对象的还原状态和过期日期
以下示例使用 head-object
命令查看桶
中对象 amzn-s3-demo-bucket
的元数据。当您对正在还原的对象运行此命令时,Amazon S3 会返回还原是否正在进行以及(如果适用)过期日期。dir1/example.obj
aws s3api head-object --bucket
amzn-s3-demo-bucket
--keydir1/example.obj
预期输出(还原正在进行中):
{ "Restore": "ongoing-request=\"true\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }
预期输出(还原已完成):
{ "Restore": "ongoing-request=\"false\", expiry-date=\"Wed, 12 Aug 2020 00:00:00 GMT\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }
有关 head-object
的更多信息,请参阅《AWS CLI 命令参考》中的 head-object
Amazon S3 提供了一个 API 操作供您检索对象元数据。要使用 REST API 检查归档对象的还原状态和过期日期,请参阅《Amazon Simple Storage Service API 参考》中的 HeadObject。
升级正在进行的还原的速度
在还原过程中,您可以升级还原的速度。
将正在进行的还原升级到更快的层级
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择存储桶。
-
在 Buckets(桶)列表中,选择包含您想要还原的对象的桶的名称。
-
在对象列表中,选择要还原的对象。此时将显示对象的详细信息页面。在对象的详细信息页面上,选择升级检索层。有关检查对象还原状态的信息,请参阅检查还原状态和到期日期。
-
选择要升级到的层,然后选择启动还原。