【问题标题】:Deleting azure service bus queue messages?删除天蓝色服务总线队列消息?
【发布时间】:2020-03-28 03:37:55
【问题描述】:

我正在使用 nodejs 客户端创建消息,如下所示:

await sbClient
                    .createQueueClient('event')
                    .createSender()
                    .send({
                        scheduledEnqueueTimeUtc: date,
                        body: eventDetails
                    });

这很好并且有效,但是如果我想更改事件详细信息和日期,我将如何更新消息详细信息?

我最好的猜测是让“body”实际上指向某种可以解决的事件 id,如果在执行时通风口日期与预定的入队日期不匹配,它将不会被执行.

【问题讨论】:

  • date 是活动的日期,是将来的某个时间,对吧?

标签: node.js azure azureservicebus


【解决方案1】:

无法更新服务总线消息。当您安排消息时,您将receive back a sequence number。然后您可以使用序列号cancel the message,并重新安排新消息。

【讨论】:

  • .send 和 .sendScheduledMessage 有什么区别?
  • Send 立即发送消息。然后它将对任何接收者可见以进行处理。在预定的日期和时间之前,SendScheduledMessage 不会让任何接收者看到该消息。
【解决方案2】:

我的理解是,如果 SB 队列中的消息没有被“删除”,如果你做了一个 peek-lock。但是,任何其他类型的接收消息也会删除队列中的消息。

此外,您不能在队列中更改详细信息(更新消息属性/内容)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2019-03-24
    • 2021-09-27
    • 2021-01-26
    • 2022-01-13
    • 2017-01-16
    • 2015-12-29
    相关资源
    最近更新 更多