

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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 软件开发工具包来利用批处理功能。

**重要详细信息**
+ **消息大小限制：**在一次 `SendMessageBatch` 调用中发送的所有消息的总大小不能超过 1048576 字节（1 MiB）。
+ **权限：**您无法显式设置 `SendMessageBatch`、`DeleteMessageBatch` 或 `ChangeMessageVisibilityBatch` 的权限。相反，设置 `SendMessage`、`DeleteMessage` 或 `ChangeMessageVisibility` 操作的权限会同时设置其对应的批处理版本的权限。
+ **控制台支持：**Amazon SQS 控制台不支持批处理操作。您必须使用查询 API 或 S AWS DK 来执行批量操作。

## 批处理消息操作
<a name="batching-message-actions"></a>

为了进一步优化成本和效率，请考虑以下批处理消息操作的最佳实践：
+ **批处理 API 操作：**使用[ Amazon SQS 批处理 API 操作](#sqs-batch-api-actions)来发送、接收和删除消息，并通过单次操作更改多条消息的可见性超时。这样做可以减少 API 调用的次数和相关成本。
+ **客户端缓冲和长轮询数：**将长轮询与 适用于 Java 的 AWS SDK中的[缓冲异步客户端](sqs-client-side-buffering-request-batching.md)一起使用，从而将客户端缓冲与请求批处理功能相结合。这种方法有助于最大限度地减少请求数量并优化对大量消息的处理。

**注意**  
Amazon SQS 缓冲异步客户端目前不支持 FIFO 队列。