2017-07-14 94 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 –