【问题标题】:Trying to get message via message id and Boto尝试通过消息 ID 和 Boto 获取消息
【发布时间】:2016-10-14 16:30:36
【问题描述】:

我正在尝试使用 Boto 通过消息 ID 获取消息。

这个问题:

Trying to Get SQS Message ID with Boto

让我觉得 Boto 可能有办法通过消息 ID 获取消息,但我在 Boto 文档中找不到任何内容。

有没有办法通过消息 id 获取消息?

【问题讨论】:

    标签: boto amazon-sqs


    【解决方案1】:

    不,没有。 SQS API 不提供在给定消息 ID 的情况下检索消息正文的方法。您所能做的就是从队列中读取消息。

    您链接到的问题是关于如何从您已阅读的消息中获取消息 ID。这是可能的,详细信息可以在该消息中找到。

    【讨论】:

      【解决方案2】:

      我不知道你的问题到底是什么,但是,就我而言:

      我一次从 Sqs 收到大约 20 条消息并异步处理它们。消息完成后,我想将其从 sqs 中删除。因此,我将正在进行的消息放入具有 Id 值的 HashMap 中。

      当我处理完消息后,我很容易从 Map 中得到它。

      如果你有消息的 Id,你之前也应该有 Message 对象。如果消息数量的范围不是那么多,你也可以使用地图。

       Message msg = onProcess.get(processId);
       sqs.deleteMessage(new DeleteMessageRequest().withQueueUrl(queueUrl).withReceiptHandle(msg.getReceiptHandle()));
       onProcess.remove(processId);
      

      【讨论】:

        猜你喜欢
        • 2014-10-15
        • 2013-04-02
        • 2018-09-01
        • 2021-05-26
        • 1970-01-01
        • 2020-05-04
        • 1970-01-01
        • 1970-01-01
        • 2017-12-08
        相关资源
        最近更新 更多