亚马逊SQS批量操作 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊SQS批量操作

Amazon SQS 提供批量操作,可帮助您降低成本,并通过单个操作处理多达 10 条消息。这些批处理操作包括:

使用批处理操作,您可以在一次API调用中执行多项操作,这有助于优化性能并降低成本。您可以使用查询API或任何支持 Amazon 批处理操作 Amazon SDK的功能来利用SQS批处理功能。

重要详细信息
  • 消息大小限制:在一次 SendMessageBatch 调用中发送的所有消息的总大小不能超过 262144 字节(256KiB)。

  • 权限:您无法显式设置 SendMessageBatchDeleteMessageBatchChangeMessageVisibilityBatch 的权限。相反,设置 SendMessageDeleteMessageChangeMessageVisibility 操作的权限会同时设置其对应的批处理版本的权限。

  • 控制台支持:Amazon SQS 控制台不支持批量操作。必须使用查询API或 Amazon SDK来执行批量操作。

批处理消息操作

为了进一步优化成本和效率,请考虑以下批处理消息操作的最佳实践:

  • 批量API操作:使用 Amazon SQS 批处理API操作发送、接收和删除消息,并通过单个操作更改多条消息的可见性超时。这减少了API通话次数和相关成本。

  • 客户端缓冲和长轮询数:将长轮询与 Amazon SDK for Java中的缓冲异步客户端一起使用,从而将客户端缓冲与请求批处理功能相结合。这种方法有助于最大限度地减少请求数量并优化对大量消息的处理。

注意

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