Amazon Glacier:如何将存档检索SNS响应与其作业ID相关联?

时间:2013-03-07 22:45:16

标签: amazon-web-services amazon amazon-sns amazon-glacier

我有一个将zip文件归档到Glacier的服务。我有一个简单的通知服务设置,让我知道一个unarchive作业何时完成(“归档 - 检索”请求)。从我可以告诉的一切,响应将与GetJob()调用相同:

HTTP/1.1 200 OK 
x-amzn-RequestId: x-amzn-RequestId 
Date: Date
Content-Type: ContentType Content-Length: Length
x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier

[Bytes of requested file.]

source

出于处理目的,我需要能够接受响应并进行处理(标记谁取消归档文件,将其内容放在正确的位置等)。有没有办法将传入的GetJob()响应与作业ID或类似的东西相关联?

谢谢,

扎克

1 个答案:

答案 0 :(得分:1)

SNS消息的正文将包含从InitiateJob请求返回的作业ID。以下是Glacier检索请求的示例SNS JSON正文:

{
   "Action":"ArchiveRetrieval", 
   "ArchiveId":"ewhHkrpO1sNPI4sFpDK7y0xFVNSR-eHEYrbWR2XKfRSy0Mf6f77T6P_9RhBLBqwn09k9AkcB0h03pyJiKxCfXRCVUDbvvTl7vJHbZO2ozTgunqbJ88p3uY1ytfhTDf_41PysxSmz_Q", 
   "ArchiveSHA256TreeHash":"34bbe1a578aa9a7ce3ada96e6e291821bd34b1fee403e3653a32d0a4ab0c7194", 
   "ArchiveSizeInBytes":1100754352, 
   "Completed":true, 
   "CompletionDate":"2013-03-12T22:17:29.692Z", 
   "CreationDate":"2013-03-12T18:17:13.938Z", 
   "InventorySizeInBytes":null, 
   "JobDescription":null, 
   "JobId":"uwa_RxWK39KIY0UGfgL38OWxQw234I8Gpre93LgW8VAl93Ts6VffRZyMbzZqjIh3GqqkiArv9oAXBRNXuUFfFko8bdcF", 
   "RetrievalByteRange":"0-1100754351", 
   "SHA256TreeHash":"34bbe1a578aa9a7ce3ada96e6e291821bd34b1fee403e3653a32d0a4ab0c7194", 
   "SNSTopic":null, 
   "StatusCode":"Succeeded", 
   "StatusMessage":"Succeeded", 
   "VaultARN":"..."
}

您可以将JobId字段传递给GetJobOutput请求以下载存档内容。此值可以通过InitiateJob标头与原始x-amz-job-id响应相关联。