本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon SQS 批处理操作
Amazon SQS 提供批量操作,可帮助您降低成本,并通过单个操作处理多达 10 条消息。这些批处理操作包括:
使用批量操作,您可以在单个 API 调用中执行多个操作,这有助于优化性能并降低成本。您可以使用查询 API 或任何支持 Amazon SQS 批处理操作的 AWS 软件开发工具包来利用批处理功能。
重要细节
-
消息大小限制:单次
SendMessageBatch
调用中发送的所有消息的总大小不能超过 262,144 字节(256 KiB)。 -
权限:您不能为
SendMessageBatch
DeleteMessageBatch
、或显式设置权限ChangeMessageVisibilityBatch
。相反,为SendMessageBatch
DeleteMessageBatch
、或ChangeMessageVisibilityBatch
设置权限可以为相应批处理版本的操作设置权限。 -
控制台支持:Amazon SQS 控制台不支持批量操作。您必须使用查询 API 或 S AWS DK 来执行批量操作。
批处理消息操作
为了进一步优化成本和效率,请考虑以下批量处理消息操作的最佳实践:
-
批量 API 操作:使用 Amazon SQS 批量 API 操作操作来发送、接收和删除消息,并通过单个操作更改多条消息的可见性超时。这减少了 API 调用的次数和相关成本。
-
客户端缓冲和长轮询:使用长轮询以及随附的缓冲异步客户端,将客户端缓冲与请求批处理相结合。 AWS SDK for Java这种方法有助于最大限度地减少请求数量并优化对大量消息的处理。
注意
Amazon SQS 缓冲异步客户端目前不支持 FIFO 队列。