搭DescribeJob配 AWS 開發套件或 CLI 使用 - Amazon S3 Glacier

此頁面僅適用於使用保管庫和 2012 年起原始 REST API 的 S3 冰川服務的現有客戶。

如果您正在尋找存檔儲存解決方案,我們建議您使用 Amazon S3 中的 S3 Glacier 儲存類別、S3 冰川即時擷取S3 冰川彈性擷取和 S3 Glacier Deep Archive。若要進一步了解這些儲存選項,請參閱 Amazon S3 使用者指南中的 S3 Glacier 儲存類別和使用 S3 Glacier 儲存類別的長期資料儲存。這些儲存類別使用 Amazon S3 API,可在所有區域使用,並且可以在 Amazon S3 主控台中管理。它們提供了諸如存儲成本分析,存儲鏡頭,包括多種加密選項的安全功能等功能。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DescribeJob配 AWS 開發套件或 CLI 使用

下列程式碼範例會示範如何使用DescribeJob

CLI
AWS 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-jobaws glacier list-jobs 的輸出中找到。Amazon Glacier 在執行操作時需要帳戶 ID 引數,但您可以使用連字號來指定使用中的帳戶。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeJob中的。

PowerShell
適用的工具 PowerShell

範例 1:傳回指定工作的詳細資訊。當工作順利完成時,Read-GC JobOutput 指令程式可用來將工作的內容 (封存或詳細目錄清單) 擷取至本機檔案系統。

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
  • 如需 API 詳細資訊,請參閱AWS Tools for PowerShell 指令程DescribeJob式參考中的。

Python
適用於 Python (Boto3) 的 SDK
注意

還有更多關於 GitHub。尋找完整範例,並了解如何在AWS 設定和執行程式碼範例儲存庫

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
  • 如需 API 的詳細資訊,請參閱AWS 開發套件DescribeJob中的 Python (博托 3) API 參考。

如需 AWS SDK 開發人員指南和程式碼範例的完整清單,請參閱搭配 AWS 開發套件使用 S3 冰川。此主題也包含有關入門的資訊和舊版 SDK 的詳細資訊。