Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
此页面仅适用于使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。
如果您正在寻找档案存储解决方案,我们建议您在亚马逊 S3、S3 Glacier 即时检索、S3 Glacier 灵活检索和 S3 Glacier Deep Archive Deep Archive 中使用 Amazon Glacier 存储类。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别。
从 2025 年 12 月 15 日起,Amazon Glacier(最初基于保管库的独立服务)将不再接受新客户,对现有客户不产生任何影响。Amazon Glacier 是一项独立的服务 APIs ,拥有自己的服务,可将数据存储在文件库中,不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中,您的现有数据将保持安全且可以无限期地访问。无需迁移。对于低成本、长期的存档存储, Amazon 建议使用 Amazon S3 Glacier 存储类别,这些存储类别基于S3存储桶 APIs、完全 Amazon Web Services 区域 可用性、更低的成本和 Amazon 服务集成,可提供卓越的客户体验。如果您想要增强功能,可以考虑使用我们的Amazon 解决方案指南迁移到 Amazon S3 Glacier 存储类别,将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
DescribeJob与 Amazon SDK 或 CLI 配合使用
以下代码示例演示如何使用 DescribeJob。
- CLI
-
- Amazon CLI
-
以下命令检索名为 my-vault 的文件库中有关库存检索任务的信息:
aws glacier describe-job --account-id - --vault-name my-vault --job-id zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW
输出:
{
"InventoryRetrievalParameters": {
"Format": "JSON"
},
"VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
"Completed": false,
"JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW",
"Action": "InventoryRetrieval",
"CreationDate": "2015-07-17T20:23:41.616Z",
"StatusCode": "InProgress"
}
作业 ID 可以在 aws glacier initiate-job 和 aws glacier list-jobs 的输出中找到。Amazon Glacier 在执行操作时需要一个账户 ID 参数,但您可以使用连字符来指定正在使用的账户。
- PowerShell
-
- 适用于 PowerShell V4 的工具
-
示例 1:返回指定任务的详细信息。任务成功完成后,可以使用 Read-O GCJob utput cmdlet 将任务的内容(档案或清单列表)检索到本地文件系统。
Get-GLCJob -VaultName myvault -JobId "op1x...JSbthM"
输出:
Action : ArchiveRetrieval
ArchiveId : o9O9j...X-TpIhQJw
ArchiveSHA256TreeHash : 79f3ea754c02f58...dc57bf4395b
ArchiveSizeInBytes : 38034480
Completed : False
CompletionDate : 1/1/0001 12:00:00 AM
CreationDate : 12/13/2018 11:00:14 AM
InventoryRetrievalParameters :
InventorySizeInBytes : 0
JobDescription :
JobId : op1x...JSbthM
JobOutputPath :
OutputLocation :
RetrievalByteRange : 0-38034479
SelectParameters :
SHA256TreeHash : 79f3ea754c02f58...dc57bf4395b
SNSTopic :
StatusCode : InProgress
StatusMessage :
Tier : Standard
VaultARN : arn:aws:glacier:us-west-2:012345678912:vaults/test
- 适用于 PowerShell V5 的工具
-
示例 1:返回指定任务的详细信息。任务成功完成后,可以使用 Read-O GCJob utput cmdlet 将任务的内容(档案或清单列表)检索到本地文件系统。
Get-GLCJob -VaultName myvault -JobId "op1x...JSbthM"
输出:
Action : ArchiveRetrieval
ArchiveId : o9O9j...X-TpIhQJw
ArchiveSHA256TreeHash : 79f3ea754c02f58...dc57bf4395b
ArchiveSizeInBytes : 38034480
Completed : False
CompletionDate : 1/1/0001 12:00:00 AM
CreationDate : 12/13/2018 11:00:14 AM
InventoryRetrievalParameters :
InventorySizeInBytes : 0
JobDescription :
JobId : op1x...JSbthM
JobOutputPath :
OutputLocation :
RetrievalByteRange : 0-38034479
SelectParameters :
SHA256TreeHash : 79f3ea754c02f58...dc57bf4395b
SNSTopic :
StatusCode : InProgress
StatusMessage :
Tier : Standard
VaultARN : arn:aws:glacier:us-west-2:012345678912:vaults/test
- Python
-
- 适用于 Python 的 SDK (Boto3)
-
class GlacierWrapper:
"""Encapsulates Amazon S3 Glacier API operations."""
def __init__(self, glacier_resource):
"""
:param glacier_resource: A Boto3 Amazon S3 Glacier resource.
"""
self.glacier_resource = glacier_resource
@staticmethod
def get_job_status(job):
"""
Gets the status of a job.
:param job: The job to query.
:return: The current status of the job.
"""
try:
job.load()
logger.info(
"Job %s is performing action %s and has status %s.",
job.id,
job.action,
job.status_code,
)
except ClientError:
logger.exception("Couldn't get status for job %s.", job.id)
raise
else:
return job.status_code
有关 S Amazon DK 开发者指南和代码示例的完整列表,请参阅使用带有 Amazon SDK 的 Amazon Glacier。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。