

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

# 使用 Batch Operations 搭配目錄儲存貯體
<a name="directory-buckets-objects-Batch-Ops"></a>

您可以使用 Amazon S3 Batch Operations 對存放在 S3 儲存貯體中的物件執行操作。若要深入了解 S3 Batch Operations，請參閱[在 Amazon S3 物件上執行大規模批次操作](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html)。

下列主題討論如何對儲存在目錄貯體中 S3 Express One Zone 儲存類別的物件執行批次操作。

**Topics**
+ [使用 Batch Operations 搭配目錄儲存貯體](#UsingBOPsDirectoryBuckets)
+ [主要差異](#UsingBOPsDirectoryBucketsKeyDiffs)

## 使用 Batch Operations 搭配目錄儲存貯體
<a name="UsingBOPsDirectoryBuckets"></a>

您可以對儲存在目錄儲存貯體中的物件執行**複製**操作和**調用 AWS Lambda 函數**操作。您可以使用**複製**，在相同類型的儲存貯體之間複製物件 (例如從一個目錄儲存貯體複製到另一個目錄儲存貯體)。您也可以在一般用途儲存貯體和目錄儲存貯體之間進行複製。使用**叫用 AWS Lambda 函數**，您可以使用 Lambda 函數，透過您定義的程式碼對目錄儲存貯體中的物件執行動作。

**複製物件**  
您可以在相同的儲存貯體類型之間，或目錄儲存貯體與一般用途儲存貯體之間進行複製。當您複製到目錄儲存貯體時，必須針對此儲存貯體類型使用正確的 Amazon Resource Name (ARN) 格式。目錄儲存貯體的 ARN 格式為 `arn:aws:s3express:region:account-id:bucket/bucket-base-name--x-s3`。

**注意**  
當來源或目的地儲存貯體位於 AWS 本機區域時， AWS 區域 不支援跨不同 複製物件。來源儲存貯體和目的地儲存貯體必須具有相同的父 AWS 區域。來源儲存貯體和目的地儲存貯體可以是不同的儲存貯體位置類型 (可用區域或本機區域)。

您也可以使用 S3 主控台中的**匯入**動作，將資料填入目錄儲存貯體。**匯入**是用來建立 Batch Operations 任務的簡化方法，可將物件從一般用途儲存貯體複製到目錄儲存貯體。針對從一般用途儲存貯體到目錄儲存貯體的**匯入**複製任務，S3 會自動產生清單檔案。如需詳細資訊，請參閱[將物件匯入目錄儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job.html)和[指定資訊清單](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specify-batchjob-manifest.html)。

**調用 Lambda 函數 (`LambdaInvoke`)**  
使用 Batch Operations 調用對目錄儲存貯體執行動作的 Lambda 函式時，須遵循特殊需求。例如，您必須使用 v2 JSON 調用結構描述來建構 Lambda 請求，並在建立作業時指定 InvocationSchemaVersion 2.0。如需詳細資訊，請參閱[調用 AWS Lambda 函數](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-invoke-lambda.html)。

## 主要差異
<a name="UsingBOPsDirectoryBucketsKeyDiffs"></a>

以下列出使用 Batch Operations 對儲存在具有 S3 Express One Zone 儲存類別之目錄儲存貯體中的物件執行大量操作時的主要差異：
+ 對於目錄儲存貯體，支援使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 的 SSE-S3 和伺服器端加密。如果您提出 `CopyObject` 請求，指定在目錄儲存貯體 (來源或目的地) 上使用客戶提供的金鑰的伺服器端加密 (SSE-C)，回應會傳回 HTTP `400 (Bad Request)` 錯誤。

  建議儲存貯體的預設加密使用所需的加密組態，而且您不會覆寫 `CreateSession` 請求或 `PUT` 物件請求中的儲存貯體預設加密。然後，新的物件會以所需的加密設定自動加密。如需在目錄儲存貯體中覆寫加密行為，以及如何使用 SSE-KMS 加密目錄儲存貯體中新物件複本的詳細資訊，請參閱[使用 指定伺服器端加密 AWS KMS 以進行新物件上傳](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html)。

  當您透過 [Batch Operations 中的 Copy 操作](#directory-buckets-objects-Batch-Ops)，將 SSE-KMS 加密物件從一般用途儲存貯體複製到目錄儲存貯體、從目錄儲存貯體複製到一般用途儲存貯體或在目錄儲存貯體之間複製時，不支援 S3 儲存貯體金鑰。在此情況下，Amazon S3 AWS KMS 每次對 KMS 加密物件提出複製請求時都會呼叫 。如需在目錄儲存貯體上使用 SSE-KMS 的詳細資訊，請參閱[設定和監控目錄儲存貯體的預設加密](s3-express-bucket-encryption.md)和[在目錄儲存貯體中使用伺服器端加密與 AWS KMS 金鑰 (SSE-KMS)](s3-express-UsingKMSEncryption.md)。
+ 目錄儲存貯體中的物件無法加上標籤。您只能指定空的標籤集。根據預設，Batch Operations 會複製標籤。如果您在一般用途儲存貯體與目錄儲存貯體之間複製具有標籤的物件，您會收到 `501 (Not Implemented)` 回應。
+ S3 Express One Zone 可讓您選擇在上傳或下載期間用於驗證資料的檢查總和演算法。您可以選擇以下 Secure Hash 演算法 (SHA) 或循環宂餘檢查 (CRC) 資料完整性演算法之一：CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 儲存類別不支援 MD5 型檢查總和。
+ 根據預設，所有 Amazon S3 儲存貯體都會將 S3 物件擁有權設定為儲存貯體擁有者強制執行，並停用存取控制清單 (ACL)。目錄儲存貯體的此設定無法修改。您也可以將物件從一般用途儲存貯體複製到目錄儲存貯體。不過，當您在目錄儲存貯體上來回複製時，無法覆寫預設 ACL。
+ 無論您如何指定清單檔案，此清單本身都必須儲存在一般用途儲存貯體中。Batch Operations 無法從目錄儲存貯體匯入現有的資訊清單，也無法將產生的資訊清單儲存至目錄儲存貯體。不過，清單檔案內描述的物件可以儲存在目錄儲存貯體中。
+ Batch Operations 無法指定目錄儲存貯體作為 S3 庫存報告中的位置。庫存報告不支援目錄儲存貯體。您可以透過使用 `ListObjectsV2` API 操作列出物件，來為目錄儲存貯體內的物件建立資訊清單。然後，您可以將清單插入 CSV 檔案。

### 授與 存取權
<a name="BOPsAccess"></a>

 若要執行複製任務，您必須具有下列許可：
+ 若要在目錄儲存貯體之間複製物件，您必須具有 `s3express:CreateSession` 許可。
+ 若要將物件從目錄儲存貯體複製到一般用途儲存貯體，您必須具有 `s3express:CreateSession` 許可和 `s3:PutObject` 許可，以將複製的物件寫入目的地儲存貯體。
+ 若要將物件從一般用途儲存貯體複製到目錄儲存貯體，您必須具有 `s3express:CreateSession` 許可和 `s3:GetObject` 許可，以讀取要複製的來源物件。

   如需詳細資訊，請參閱 Amazon Simple Storage Service API 參考**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)。
+ 若要調用 Lambda 函數，您必須根據 Lambda 函數為資源授予許可。若要判斷需要哪些許可，請查看對應的 API 操作。