還原已封存的物件 - Amazon Simple Storage Service

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

還原已封存的物件

下列儲存類別或層級的 Amazon S3 物件都會加以封存,且無法即時存取:

  • S3 Glacier Flexible Retrieval 儲存體類別

  • S3 Glacier Deep Archive 儲存體類別

  • S3 Intelligent-Tiering Archive Access 層

  • S3 Intelligent-Tiering Deep Archive Access 層

在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別中存放的 Amazon S3 物件無法立即存取。若要存取這些儲存類別中的物件,您必須在指定持續時間 (天數) 內將物件的暫時複本還原至其 S3 儲存貯體。如果您想要物件的永久複本,請還原物件,然後在 Amazon S3 儲存貯體中建立其複本。Amazon S3 主控台不支援複製還原的物件。對於此類型的複製操作,請使用 AWS Command Line Interface (AWS CLI) AWS SDKs、 或 REST API。除非您進行複製並變更其儲存類別,否則物件仍會儲存在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別中。如需有關使用這些儲存類別的資訊,請參閱 很少存取物件的儲存類別

若要存取 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 層中的物件,您必須啟動還原請求,然後等待物件移至 Frequent Access 層。當您從 Archive Access 層或 Deep Archive Access 層還原物件時,物件會移回不經常存取層。如需有關使用這些儲存類別的資訊,請參閱 存取模式會變更或不明的自動最佳化資料的儲存體方案

如需封存物件的一般資訊,請參閱 使用封存的物件

注意
  • 當您從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別還原封存的物件時,您需要為封存的物件和暫時還原的複本付費。

  • 當您從 S3 Intelligent-Tiering 還原物件時,標準或大量擷取不會收取擷取費用。

  • 已還原之封存物件上呼叫的後續還原請求,會依GET請求計費。如需定價的資訊,請參閱 Amazon S3 定價

還原已封存的物件

您可以使用 Amazon S3 主控台、Amazon S3RESTAPI、 AWS SDKs、 AWS Command Line Interface (AWS CLI) 或 S3 批次操作來還原封存的物件。

使用 Amazon S3 主控台還原物件

下列程序可用來還原已封存至 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別,或是 S3 Intelligent-Tiering Archive Access 或 Deep Archive Access 儲存層的物件。

還原封存物件
  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. Buckets (儲存貯體) 清單中,選擇儲存貯體的名稱,其中包含您要還原的物件。

  4. Objects (物件) 清單中,選取要還原的一或多個物件,選擇 Actions (動作),然後選擇 Initiate restore (啟動還原)

  5. 如果要從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原,請在已還原副本可用天數方塊中輸入您希望封存資料可供存取的天數。

  6. 擷取方案中,執行下列任一項操作:

    • 選擇大量擷取標準擷取,然後選擇啟動還原

    • 選擇 Expedited retrieval (快速擷取) (僅適用於 S3 Glacier Flexible Retrieval 或 S3 Intelligent-Tiering Archive Access)。如果您要還原 S3 Glacier Flexible Retrieval 中的物件,可以選擇是否購買佈建的容量以進行「快速」擷取。如果您想要購買佈建的容量,請繼續執行下一個步驟。如果不要購買,請選擇啟動還原

    注意

    來自 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 的物件會自動還原到 Frequent Access 層。

  7. (選用) 如果您要還原 S3 Glacier Flexible Retrieval 中的物件,且您選擇了快速擷取,則可以選擇是否購買佈建的容量。佈建的容量僅適用於 S3 Glacier Flexible Retrieval 中的物件。如果您已有佈建的容量,請選擇啟動還原,以開始進行佈建的擷取。

    如果您有佈建的容量,您所有的快速擷取都會透過佈建的容量提供服務。如需詳細資訊,請參閱佈建的容量

    • 如果您沒有佈建的容量,也不希望購買,請選擇啟動還原

    • 如果您沒有佈建的容量,但想要購買佈建的容量單位 (PCUs),請選擇購買 PCUs。在購買PCUs對話方塊中,選擇PCUs您要購買的數量,確認您的購買,然後選擇購買 PCUs。當您收到已成功購買訊息時,請選擇啟動還原以開始進行佈建的擷取。

從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原物件

下列範例使用 restore-object命令來還原物件 dir1/example.obj 在儲存貯體amzn-s3-demo-bucket中 25 天。

aws s3api restore-object --bucket amzn-s3-demo-bucket --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

如果範例中使用的語法導致 Windows JSON 用戶端發生錯誤,請使用下列語法取代還原請求:

--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}
從 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 還原物件

下列範例使用 restore-object命令來還原物件 dir1/example.obj 儲存貯體中的 amzn-s3-demo-bucket到 常用存取層。

aws s3api restore-object --bucket amzn-s3-demo-bucket --key dir1/example.obj --restore-request '{}'
注意

與 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別不同,S3 Intelligent-Tiering 物件的還原要求不接受 Days 值。

監控還原狀態

若要監控 restore-object 請求的狀態,請使用下列 head-object 命令:

aws s3api head-object --bucket amzn-s3-demo-bucket --key dir1/example.obj

如需詳細資訊,請參閱 restore-objectAWS CLI 命令參考 中。

Amazon S3 為您提供啟動封存物件還原API的操作。如需詳細資訊,請參閱 RestoreObjectAmazon Simple Storage Service API參考 中。

如需如何使用 還原 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 中封存物件的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

若要使用單一請求還原多個封存的物件,您可以使用 S3 批次操作。您可以為 S3 批次操作提供一份要進行操作的物件清單。S3 Batch Operations 會呼叫個別API操作來執行指定的操作。單一批次作業任務可在包含數 EB 資料的數十億個物件上執行指定的操作。

若要建立批次操作任務,您必須擁有清單檔案,且當中只包含您要還原的物件。您可以使用 S3 庫存建立資訊清單,也可以提供CSV檔案所需的資訊。如需詳細資訊,請參閱指定資訊清單

在建立和執行 S3 批次操作任務之前,您必須將許可授予 Amazon S3,以便代表您執行 S3 批次操作。如要了解必要的許可,請參閱 授予批次操作的許可

注意

批次操作任務可以在 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別物件,或者 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 儲存層物件上進行。批次操作無法在同一任務中同時對兩種類型的封存物件進行操作。若要還原這兩種類型的物件,您必須建立單獨批次操作任務。

如需使用批次操作來還原封存物件的詳細資訊,請參閱 使用批次操作還原物件

若要建立 S3 啟動還原物件批次操作任務
  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Batch Operations (批次操作)。

  3. 選擇建立作業

  4. 針對 AWS 區域,​選擇要在其中建立任務的區域。

  5. 資訊清單格式下,選擇要使用的清單檔案類型。

    • 如果您選擇 S3 庫存報告 ,請輸入 Amazon S3 產生作為 CSV格式化庫存報告一部分的manifest.json物件路徑。如果您要使用的清單檔案版本並非最新版,請輸入 manifest.json 物件的版本 ID。

    • 如果您選擇 CSV,請輸入CSV格式化資訊清單物件的路徑。資訊清單物件必須遵循主控台中所描述的格式。如果您要使用的版本並非最新版,可以選擇包含清單檔案物件的版本 ID。

  6. 選擇 Next (下一步)

  7. 作業區段中,選擇還原

  8. 還原區段中,針對還原來源選擇 Glacier Flexible Retrieval 或 Glacier Deep Archive 或 Intelligent-Tiering Archive Access 層或 Deep Archive Access 層

    如果您選擇 Glacier Flexible Retrieval 或 Glacier Deep Archive,請輸入代表已還原副本可用天數的數字。

    針對擷取方案選擇您要使用的層級。

  9. 選擇 Next (下一步)

  10. 設定其他選項頁面上,填寫下列區段:

    • 其他選項區段中,提供任務的說明,並指定任務的優先順序編號。數字越大表示優先順序越高。如需詳細資訊,請參閱指派任務優先順序

    • 完成報告區段中,選取「批次操作」是否應建立完成報告。如需完成報告的詳細資訊,請參閱 完成報告

    • 許可區段中,您必須對 Amazon S3 授予許可,以便代表您執行批次操作。如要了解必要的許可,請參閱 授予批次操作的許可

    • (選用) 在任務標籤區段中,新增鍵值對形式的標籤。如需詳細資訊,請參閱使用標籤控制存取和標記任務

    完成時,選擇下一步

  11. 請確認 Review (檢閱) 頁面上的設定。如需變更,請選擇 Previous (上一步)。否則選擇建立任務

如需批次操作的詳細資訊,請參閱 使用批次操作還原物件 和 建立 S3 批次操作任務

檢查還原狀態和過期日期

您可以使用 Amazon S3 主控台、Amazon S3 事件通知 AWS CLI、 或 Amazon S3 REST 檢查還原請求的狀態或過期日期API。

注意

從 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別還原的物件只會儲存您指定的天數。下列程序會傳回這些複本的過期日期。

從 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 儲存層還原的物件沒有到期日,而是會移回常用存取層。

在 Amazon S3 主控台中查看物件的還原狀態和到期日期
  1. 在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇包含您要還原之物件的儲存貯體名稱。

  4. 物件清單中,選取您要還原的物件。物件的詳細資訊頁面隨即出現。

    • 如果還原未完成,您會在頁面頂端看見一個區段,指出還原進行中

    • 如果還原已完成,您會在頁面頂端看見一個區段,指出還原完成。如果您要從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原,此區段也會顯示還原過期日期。Amazon S3 會在此日期移除封存物件的還原複本。

您可以使用 s3:ObjectRestore:Completed動作搭配 Amazon S3 Event Notifications 功能,在物件還原完成時收到通知。如需啟用事件通知的詳細資訊,請參閱使用 Amazon SQS、Amazon SNS和 啟用通知 AWS Lambda。如需各種ObjectRestore事件類型的詳細資訊,請參閱 SQS、 SNS和 Lambda 支援的事件類型

使用 檢查物件的還原狀態和過期日期 AWS CLI

下列範例使用 head-object命令來檢視物件的中繼資料 dir1/example.obj 在儲存貯體 中amzn-s3-demo-bucket。當您對要還原的物件執行此命令時,Amazon S3 會傳回還原是否正在進行,以及 (如適用) 到期日期。

aws s3api head-object --bucket amzn-s3-demo-bucket --key dir1/example.obj

預期的輸出 (還原進行中):

{ "Restore": "ongoing-request=\"true\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }

預期的輸出 (還原完成):

{ "Restore": "ongoing-request=\"false\", expiry-date=\"Wed, 12 Aug 2020 00:00:00 GMT\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }

如需 head-object 的詳細資訊,請參閱 head-objectAWS CLI 命令參考 中。

Amazon S3 提供可讓您擷取物件中繼資料API的操作。若要使用 檢查封存物件的還原狀態和過期日期RESTAPI,請參閱 HeadObjectAmazon Simple Storage Service API參考 中。

升級進行中還原的速度

在還原進行期間,您可以升級還原的速度。

將正在進行的還原升級至更快的方案
  1. 在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. Buckets (儲存貯體) 清單中,選擇儲存貯體的名稱,其中包含您要還原的物件。

  4. 物件清單中,選取您要還原的物件。物件的詳細資訊頁面隨即出現。在物件的詳細資訊頁面上,選擇升級擷取層級。如需有關檢查物件還原狀態的資訊,請參閱 檢查還原狀態和過期日期

  5. 選擇您想要升級的目標層級,然後選擇啟動還原