Amazon S3 Glacier 数据模型 - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的归档存储功能,建议您先详细了解 Amazon S3 中的 S3 Glacier 存储类、S3 Glacier 即时检索S3 Glacier 灵活检索S3 Glacier 深度归档。有关更多信息,请参阅 Amazon S3 用户指南中的 S3 Glacier 存储类和用于存档对象的存储类。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon S3 Glacier 数据模型

Amazon S3 Glacier 数据模型核心组件包括文件库和档案。S3 Glacier 是一项基于 REST 的 Web 服务。根据 REST,文件库和档案是资源。此外,S3 Glacier 数据模型还包括任务和通知配置资源。这些资源是对核心资源的补充。

文件库

在 S3 Glacier 中,文件库 是用于存储档案的容器。文件库与 Amazon S3 存储桶类似。在创建文件库时,您可以指定名称并选择要在其中创建文件库的 Amazon Web Services 区域。

每个文件库资源都有唯一的地址。一般格式为:

https://region-specific-endpoint/account-id/vaults/vault-name

例如,假设您使用 ID 为 111122223333 的账户在美国西部(俄勒冈州)区域创建一个文件库 (examplevault)。那么,您可以使用以下 URI 为此文件库编址:

https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault

以下是 URI 的各个组成部分的含义:

  • glacier.us-west-2.amazonaws.com 标识美国西部(俄勒冈州)区域。

  • 111122223333 是拥有文件库的 Amazon Web Services 账户 ID。

  • vaults 是指 Amazon Web Services 账户拥有的文件库集合。

  • examplevault 标识了文件库集合中的特定文件库。

Amazon Web Services 账户 可以在任何支持的 Amazon Web Services 区域创建文件库。有关受支持 Amazon Web Services 区域的列表,请参阅访问 Amazon S3 Glacier。在一个区域内,一个账户必须使用唯一的文件库名称。Amazon Web Services 账户可以在不同的区域创建名称相同的文件库。

您可以在文件库中存储无限多个档案。根据您的业务或应用程序需求,您可以将这些档案存储在一个或多个文件库中。

S3 Glacier 支持各种文件库操作。文件库操作是特定于区域的。例如,创建文件库时,您会在特定的区域创建。在请求文件库列表时,您可以从特定的 Amazon Web Services 区域请求它,并且结果列表仅包括在该特定区域内创建的文件库。

档案

档案 可以是任何数据,例如照片、视频或文档。档案与 Amazon S3 对象类似,是 S3 Glacier 中的基本存储单位。每个档案都有唯一的 ID 和可选的描述。您只能在上传档案时指定此可选描述。S3 Glacier 为档案分配一个 ID,该 ID 在存储档案的 Amazon Web Services 区域是唯一的。

每个档案都有唯一的地址。一般格式如下:

https://region-specific-endpoint/account-id/vaults/vault-name/archives/archive-id

以下是存储在美国西部(俄勒冈州)区域中账户 111122223333 下的 examplevault 文件库中的档案的示例 URI:

https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId

您可以在文件库中存储无限多个档案。

作业

S3 Glacier 任务可以检索档案,也可以获取文件库的清单。

在 S3 Glacier 中,检索档案和文件库清单(档案列表)是异步操作,您首先要在其中启动任务,然后在 S3 Glacier 完成任务后下载任务输出。

注意

S3 Glacier 提供了冷存储数据归档解决方案。如果您的应用程序需要一套要求进行实时数据检索的存储解决方案,则可以考虑使用 Amazon S3。有关更多信息,请参阅 Amazon Simple Storage Service (Amazon S3)

要启动文件库清单任务,您需要提供文件库名称。档案检索任务需要文件库名称和档案 ID。您还可以提供可选的任务描述来帮助标识任务。

档案检索和文件库清单任务与文件库相关联。在任何时间点,一个文件库可以同时进行多个任务。在您发送任务请求(启动任务)时,S3 Glacier 会向您返回一个任务 ID,以跟踪该任务。每个任务都会由以下格式的 URI 唯一标识:

https://region-specific-endpoint/account-id/vaults/vault-name/jobs/job-id

以下是与美国西部(俄勒冈州)区域中账户 111122223333 下的 examplevault 文件库关联的任务示例。

https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID

对于每个任务,S3 Glacier 都会保留相关信息,例如,任务类型、描述、创建日期、完成日期以及任务状态。您可以获取有关特定任务的信息,也可以获取与某个文件库相关联的所有任务的列表。S3 Glacier 返回的作业列表包括所有正在进行的任务以及最近完成的任务。

通知配置

由于运行任务需要花费时间,因此,S3 Glacier 支持一种通知机制,以便在任务完成时通知您。您可以将文件库配置为在任务完成时向 Amazon Simple Notification Service (Amazon SNS) 主题发送通知。您可以在通知配置中为每个文件库指定一个 Amazon SNS 主题。

S3 Glacier 会将通知配置存储为 JSON 文档。以下是文件库通知配置示例:

{ "Topic": "arn:aws:sns:us-west-2:111122223333:mytopic", "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] }

通知配置与文件库相关联;每个文件库都可以有一个通知配置。每个通知配置资源都会由以下格式的 URI 唯一标识:

https://region-specific-endpoint/account-id/vaults/vault-name/notification-configuration

S3 Glacier 支持设置、获取和删除通知配置的操作。如果您删除了通知配置,则针对该文件库的任何数据检索操作完成时,系统都不会发送任何通知。