

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

# 使用批次操作還原物件
還原物件

您可以使用 Amazon S3 Batch Operations 對 Amazon S3 物件執行大規模的批次操作。**還原**操作會針對您的清單檔案中列出的已封存 Amazon S3 物件，啟動還原請求。下列封存的物件必須先還原，才能供即時存取：
+ 在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別中封存的物件
+ 透過 Archive Access 或 Deep Archive Access 方案中的 S3 Intelligent-Tiering 儲存類別封存的物件

在您的 S3 Batch Operations 作業中使用**還原** ([https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html)) 操作，會導致對資訊清單中指定的每個物件提出 `RestoreObject` 請求。

**重要**  
**還原**作業只會「啟動」**還原物件請求。在對物件提出請求之後，S3 批次操作會向每個物件報告任務完成。還原物件之後，Amazon S3 不會更新任務或另外通知您。不過，使用 S3 事件通知即可在 Amazon S3 中出現物件時收到通知。如需詳細資訊，請參閱[Amazon S3 事件通知](EventNotifications.md)。

當您建立**還原**作業時，可使用下列引數：

**ExpirationInDays**  
此引數指定 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 物件在 Amazon S3 中保持可用的時長。以 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 物件為目標的**還原**作業，會要求您將 `ExpirationInDays` 設定為 `1` 或更大數字。  
在建立以 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 層物件為目標的**還原**操作時，請勿設定 `ExpirationInDays`。S3 Intelligent-Tiering Archive Access 層中的物件沒有還原到期日，因此指定 `ExpirationInDays` 會導致 `RestoreObject` 請求失敗。

**GlacierJobTier**  
Amazon S3 可以使用三種不同的擷取層級之一來還原物件：`EXPEDITED`、`STANDARD` 和 `BULK`。但是，S3 批次操作功能僅支援 `STANDARD` 和 `BULK` 擷取方案。如需擷取層級之間差異的詳細資訊，請參閱 [了解封存擷取選項](restoring-objects-retrieval-options.md)。  
如需每個層級定價的詳細資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)頁面上的**請求與資料擷取**區段。

## 從 S3 Glacier 和 S3 Intelligent-Tiering 還原的差異


從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別還原封存檔案，與從 Archive Access 或 Deep Archive Access 中的 S3 Intelligent-Tiering 儲存類別中還原檔案不同。
+ 當您從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原時，會建立物件的暫時*複本*。Amazon S3 會在您於 `ExpirationInDays` 引數中指定的值經過之後刪除此複本。刪除此暫時複本之後，您必須提交額外的還原請求才能存取物件。
+ 還原封存的 S3 Intelligent-Tiering 物件時，*請勿*指定 `ExpirationInDays` 引數。當您從 S3 Intelligent-Tiering Archive Access 或 Deep Archive Access 層還原物件時，物件會移回 S3 Intelligent-Tiering Frequent Access 層。在至少連續 90 天無存取的情況下，物件會自動移至 Archive Access 層。在至少連續 180 天無存取的情況下，物件會自動移至 Deep Archive Access 層。
+ 批次操作任務可以在 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別物件，*或者* S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 儲存層物件上進行。批次操作無法在同一任務中同時對兩種類型的封存物件進行操作。若要還原這兩種類型的物件，您*必須*建立單獨批次操作任務。

## 重疊還原


如果您的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_S3InitiateRestoreObjectOperation.html) 作業嘗試還原已在還原程序中的物件，S3 Batch Operations 會依下列方式繼續進行。

如果滿足以下任一條件，則物件的還原操作將會成功：
+ 與已在進行中的還原請求相比，此任務的 `ExpirationInDays` 值相同，且其 `GlacierJobTier` 值較快。
+ 之前的還原請求已完成，且該物件目前可用。在此情況下，批次操作會更新還原物件的到期日期，以符合正在進行的還原請求中指定的 `ExpirationInDays` 值。

如果滿足以下任一條件，則物件的還原操作將會失敗：
+ 已在進行的還原請求尚未完成，而且此作業的還原持續時間 (由 `ExpirationInDays` 值指定) 與正在進行的還原請求中指定的還原持續時間不同。
+ 此作業的還原層 (由 `GlacierJobTier` 值指定) 等於或慢於正在進行的還原請求中指定的還原層。

## 限制


`S3InitiateRestoreObjectOperation` 作業具有下列限制：
+ 您必須在與封存物件相同的區域中建立任務。
+ S3 Batch Operations 不支援 `EXPEDITED` 擷取層。
+ 單一 Batch Operations 還原作業，最多可支援 40 億個物件的資訊清單。

如需還原物件的詳細資訊，請參閱[還原已封存的物件](restoring-objects.md)。