2014-11-24 35 views

回答

3

您可以使用API​​定義將文件從Amazon S3存檔到Amazon Glacier的生命週期規則,您可以使用該API檢索歸檔到Glacier的文件的臨時副本。但是,您無法使用API​​告知Amazon S3將特定文件移動到Glacier中。

有使用亞馬遜冰川兩種方式:

    通過冰川API,它允許你上傳/下載檔案到/從冰川金庫
  1. 通過Amazon S3的生命週期規則,數據存檔
  2. 直接從Amazon S3到亞馬遜冰川

經由冰川API允許您存儲用於長期存儲檔案直接連接,經常被用作磁帶的替代品。通過Glacier API存儲的數據也必須通過Glacier API獲取。這通常通過正常的企業備份軟件或者輕量級產品完成,例如Cloudberry Backup(Windows)或Arq(Mac)。

使用Amazon S3生命週期規則讓您的數據存儲在亞馬遜S3,然後定義確定何時數據應歸檔到冰川的長期存儲的規則。例如,數據可以在創建後90天存檔。數據傳輸由lifecycle rules管理,每日批量操作。規則可以通過putBucketLifecycle API call(在PHP SDK中提供)來設置,但是這僅僅定義了規則 - 不可能進行一個API調用,告訴S3將特定文件存檔到Glacier。

Amazon S3的RestoreObject API call(可在PHP SDK中獲得)將從Glacier存檔的數據的臨時副本恢復回S3。請注意,從Glacier恢復數據需要3-5小時

+0

所以當我們創建生命週期規則時,當文件移動到冰川並返回其ID時,amazon會通知我們的服務器。我們如何獲得移動存檔中移動存檔的ID? – 2014-11-24 10:18:11

+2

由於生命週期規則,對象在Amazon S3和Amazon Glacier之間移動時沒有通知。 Amazon S3對象的存儲類更改爲「Glacier」,表示內容已從S3中移出並可從Glacier獲得(例如,通過「啓動還原」命令)。該對象保留在S3中(除了它的內容),所以它保留了它現有的密鑰名稱(這是它的ID)。您不能直接訪問從S3移動到Glacier的數據 - 您必須將其恢復到S3,然後從S3訪問。 – 2014-11-24 10:42:31