【问题标题】:AWS/Python: Peeking SQS messageAWS/Python:查看 SQS 消息
【发布时间】:2020-12-24 07:05:55
【问题描述】:

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.receive_message有一个接收函数来获取SQS消息,

是否有一个功能可以让我只查看 SQS 消息,而无需实际接收它。因为如果我收到消息,它将从队列中删除。但我希望消息在偷看后留在队列中。

【问题讨论】:

    标签: python amazon-sqs


    【解决方案1】:

    你可以检查 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html

    aws sqs sdk(以及在其上编写的客户端库)默认情况下不会删除消息。但他们有“可见性超时”,默认为 30 秒。这意味着在您阅读该消息后,其他消费者将在 30 秒内看不到该消息。客户可以在该时间范围内将其删除,这样其他人将永远不会收到该消息。

    因此,您可以将可见性超时减少到非常小的时间,例如 1 秒。因此,您可以下载消息并在 1 秒内将其提供给其他消费者。您甚至可以将其设置为 0,这样每个人都可以随时阅读消息。

    但这仍然意味着您会收到消息。 SQS 是一个非常简单的队列系统。您可能想检查其他队列系统,如 Kafka 或不同的系统设计方式,如使用通知服务,如 SNS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 2018-02-11
      • 2019-05-04
      • 2017-05-29
      • 2019-11-11
      • 2018-12-23
      相关资源
      最近更新 更多