

# 从启用了版本控制的存储桶中检索对象版本
<a name="RetrievingObjectVersions"></a>

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

![图中显示了 GET 如何返回对象的当前版本。](http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/images/versioning_GET_NoVersionID.png)


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

![图中显示了 GET versionId 请求如何检索对象的指定版本。](http://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/images/versioning_GET_Versioned.png)


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

**注意**  
 要访问早于 300 个版本的对象版本，必须使用 AWS CLI 或对象的 URL。

## 使用 S3 控制台
<a name="retrieving-object-versions"></a>

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在**存储桶**列表中，请选择包含对象的存储桶的名称。

1. 在 **Objects**（对象）列表中，请选择对象的名称。

1. 请选择 **Versions**（版本）。

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

1. 选中要检索的版本的 **Version ID**（版本 ID）旁的复选框。

1. 依次选择 **Actions**（操作）、**Download**（下载），然后保存对象。

您也可以在对象概述面板中查看、下载和删除对象版本。有关更多信息，请参阅 [在 Amazon S3 控制台中查看对象属性](view-object-properties.md)。

**重要**  
仅当对象已作为最新 (当前) 版本删除时，您才能取消删除它。您无法取消删除已删除对象的早期版本。有关更多信息，请参阅 [使用 S3 版本控制保留对象的多个版本](Versioning.md)。

## 使用 AWS SDK
<a name="retrieve-obj-version-sdks"></a>

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

有关使用适用于 Java、.NET 和 PHP 的 AWS SDK 下载对象的示例，请参阅[下载对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)。

有关使用适用于 .NET 和 Rust 的 AWS SDK 列出对象版本的示例，请参阅[列出 Amazon S3 存储桶中对象的版本](https://docs.aws.amazon.com/code-library/latest/ug/s3_example_s3_ListObjectVersions_section.html)。

## 使用 REST API
<a name="retrieve-obj-version-rest"></a>

**检索特定对象版本的步骤**

1. 将 `versionId` 设置为您要检索的对象的版本 ID。

1. 发送 `GET Object versionId` 请求。

**Example — 检索受版本控制的对象**  
以下请求将检索 `L4kqtJlcpXroDTDmpUMLUo` 的版本 `my-image.jpg`。  

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

您可以仅检索对象的元数据（而不是内容）。有关信息，请参阅 [检索对象版本的元数据](RetMetaOfObjVersion.md)。

有关还原早期对象版本的信息，请参阅 [还原早期版本](RestoringPreviousVersions.md)。