2017-07-14 101 views
0

我正在查看我aws冰川保管库中的文件。我正在使用亚马逊cli。我第一次做未找到aws冰川作业ID

aws glacier list-jobs --account-id - --region ca-central-1 --vault-name gamesDB

,并得到了本作的结果

{ 
    "JobList": [{ 
     "CompletionDate": "2017-07-13T19:33:01.357Z", 
     "JobId": "0_Yskg7YiAD8exUca58f2NMEC_hb7fsoy4arhpYBBkuMHqS__h10ol8_lPYCLc-Qoe1E8PXQso3HZ0usCaG6wzyPtRqb", 
     "InventorySizeInBytes": 1123, 
     "StatusCode": "Succeeded", 
     "StatusMessage": "Succeeded", 
     "VaultARN": "arn:aws:glacier:ca-central-1:710541751822:vaults/gamesDB", 
     "InventoryRetrievalParameters": { 
      "Format": "JSON" 
     }, 
     "Action": "InventoryRetrieval", 
     "Completed": true, 
     "CreationDate": "2017-07-13T15:38:58.835Z" 
    }] 
} 

然后我做了

aws glacier get-job-output --account-id - --vault-name gamesDB --job-id 0_Yskg7YiAD8exUca58f2NMEC_hb7fsoy4arhpYBBkuMHqS__h10ol8_lPYCLc-Qoe1E8PXQso3HZ0usCaG6wzyPtRqb output.json 

,并得到

发生错误(ResourceNotFoundException)时打电话给GetJobOutput操作:未找到工作ID:0_Yskg7YiAD8exUca58f2NMEC_hb7fsoy4arhpYBBkuMHqS__h10ol8_lPYCLc-Qoe1E8PXQso3HZ0usCaG6wzyPtRqb

我想有一个与CLI一个问题,所以我想这再次使用REST API,并得到了同样的错误。 JobID完全相同,我不明白为什么会发生这种情况?

+0

我试着正确地格式化json响应,但是stackoverflow一直存在一个问题.....所以它现在全部在一行-_- –

+0

您肯定会将API/CLI请求发送到'ca-central -1'?我猜你会隐式发送给另一个区域,因为你没有显示你指定了一个区域。冰川地区是独立的,根本不相连。 –

+0

hmm在我的aws配置中有“region = ca-central-1”,我也尝试传递ca-central-1的region参数。仍然没有工作:( –

回答

0

它对我来说工作得很好。这是我没有...

发起的编目作业:

aws glacier initiate-job --account-id - --vault-name videos --job-parameters '{"Type": "inventory-retrieval"}' 

{ 
    "location": "/123456789012/vaults/videos/jobs/y-a0tzB94kwCuFFeEQhJaxj...HGDu", 
    "jobId": "y-a0tzB94kwCuFFeEQhJaxj...HGDu" 
} 

上市工作(它花了几个小时才能完成):

aws glacier list-jobs --vault-name videos --account-id - 

{ 
    "JobList": [ 
     { 
      "CompletionDate": "2017-07-17T02:26:51.215Z", 
      "VaultARN": "arn:aws:glacier:ap-southeast-2:123456789012:vaults/videos", 
      "InventoryRetrievalParameters": { 
       "Format": "JSON" 
      }, 
      "Completed": true, 
      "InventorySizeInBytes": 10096, 
      "JobId": "y-a0tzB94kwCuFFeEQhJaxj...HGDu", 
      "Action": "InventoryRetrieval", 
      "CreationDate": "2017-07-16T22:36:48.751Z", 
      "StatusMessage": "Succeeded", 
      "StatusCode": "Succeeded" 
     } 
    ] 
} 

检索作业输出:

aws glacier get-job-output --account-id - --vault-name videos --job-id y-a0tzB94kwCuFFeEQhJaxj...HGDu output.json 
{ 
    "status": 200, 
    "acceptRanges": "bytes", 
    "contentType": "application/json" 
} 

我收到了一个JSON文件和我的文件库列表。

我的.aws/credentials文件具有默认的区域定义。

+0

嗯,这真的很奇怪,我再次尝试同样的事情,它的工作。创建它后,作业输出存在多久? –

+0

Doc说:“工作ID将在Amazon Glacier完成工作后至少24小时内不会过期。“ –

+0

好吧,那对于为什么发生这种事情没有意义,但我的意思是下一份工作表现良好,所以无论如何。thanx –