从启用了版本控制的存储桶中检索对象版本 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

从启用了版本控制的存储桶中检索对象版本

Amazon S3 中的版本控制是在相同的存储桶中保留对象的多个变量的方法。简单 GET 请求将检索对象的当前版本。下图显示 GET 如何返回 photo.gif 对象的当前版本。

图中显示了 GET 如何返回对象的当前版本。

要检索特定版本,您需要指定其版本 ID。下图显示 GET versionId 请求检索对象的指定版本 (不一定是当前版本)。

图中显示了 GET versionId 请求如何检索对象的指定版本。

您可以使用控制台、Amazon SDK 或 REST API 在 Amazon S3 中检索对象版本。

注意

要访问早于 300 个版本的对象版本,必须使用 Amazon CLI 或对象的 URL。

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 存储桶列表中,请选择包含对象的存储桶的名称。

  3. Objects(对象)列表中,请选择对象的名称。

  4. 请选择 Versions(版本)。

    Amazon S3 显示了对象的所有版本。

  5. 选中要检索的版本的 Version ID(版本 ID)旁的复选框。

  6. 依次选择 Actions(操作)、Download(下载),然后保存对象。

您也可以在对象概述面板中查看、下载和删除对象版本。有关更多信息,请参阅 在 Amazon S3 控制台中查看对象概述

重要

仅当对象已作为最新 (当前) 版本删除时,您才能取消删除它。您无法取消删除已删除对象的早期版本。有关更多信息,请参阅 在 S3 存储桶中使用版本控制

在不受版本控制和启用了版本控制的存储桶中上传对象的示例是相同的。但是,对于启用了版本控制的存储桶,Amazon S3 会分配版本号。否则,版本号为空。

有关使用适用于 Java、.NET 和 PHP 的 Amazon SDK 下载对象的示例,请参阅下载对象

有关使用适用于 .NET 和 Rust 的 Amazon SDK 列出对象版本的示例,请参阅列出 Amazon S3 存储桶中对象的版本

检索特定对象版本的步骤
  1. versionId 设置为您要检索的对象的版本 ID。

  2. 发送 GET Object versionId 请求。

例 — 检索受版本控制的对象

以下请求将检索 L4kqtJlcpXroDTDmpUMLUo 的版本 my-image.jpg

GET /my-image.jpg?versionId=L4kqtJlcpXroDTDmpUMLUo HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=

您可以仅检索对象的元数据(而不是内容)。有关信息,请参阅 检索对象版本的元数据

有关还原早期对象版本的信息,请参阅 还原早期版本