

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

# Amazon SQS 批次動作
<a name="sqs-batch-api-actions"></a>

Amazon SQS 提供批次動作，可協助您降低成本，並使用單一動作操作多達 10 則訊息。這些批次動作包括：
+ `[SendMessageBatch](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html)`
+ `[DeleteMessageBatch](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html)`
+ `[ChangeMessageVisibilityBatch](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibilityBatch.html)`

使用批次動作，您可以在單一 API 呼叫中執行多個操作，這有助於最佳化效能並降低成本。您可以使用查詢 API 或任何支援 Amazon SQS 批次動作的 AWS SDK 來利用批次功能。

**重要詳細資訊**
+ **訊息大小限制：**單一`SendMessageBatch`呼叫中傳送的所有訊息總大小不得超過 1，048，576 位元組 (1 MiB)
+ **許可：**您無法明確設定 `SendMessageBatch`、 `DeleteMessageBatch`或 的許可`ChangeMessageVisibilityBatch`。反之，為 `SendMessage`、 `DeleteMessage`或 設定許可，為對應的 動作批次版本`ChangeMessageVisibility`設定許可。
+ **主控台支援：**Amazon SQS 主控台不支援批次動作。您必須使用查詢 API 或 AWS SDK 來執行批次操作。

## 批次訊息動作
<a name="batching-message-actions"></a>

若要進一步最佳化成本和效率，請考慮下列批次處理訊息動作的最佳實務：
+ **批次 API 動作：**使用 [Amazon SQS 批次 API 動作](#sqs-batch-api-actions)來傳送、接收和刪除訊息，以及使用單一動作變更多個訊息的訊息可見性逾時。這可減少 API 呼叫的數量和相關聯的成本。
+ **用戶端緩衝和長輪詢：**使用長輪詢搭配 隨附的[緩衝非同步用戶端](sqs-client-side-buffering-request-batching.md)，將用戶端緩衝與請求批次結合在一起 適用於 Java 的 AWS SDK。此方法有助於將請求數量降至最低，並最佳化大量訊息的處理。

**注意**  
Amazon SQS 緩衝非同步用戶端目前不支援 FIFO 佇列。