Azure 队列 - 重新出现的消息

Azure Queue - Reappearing messages

我有一个由队列消息触发的网络作业。如果作业变得太长,该消息将重新出现在队列中,并触发使用相同消息的 web 作业的新实例。这不是故意的。

如何设置消息在队列中隐藏后重新出现的时间跨度?

Azure 队列消息具有可见性超时值(以秒为单位),您可以在消息再次可见之前随时以编程方式设置该值。

您没有提到您使用什么语言编写代码,但从原始 REST API 的角度来看,您只需要执行 更新消息 操作(队列消息上的 PUT)。来自文档:

https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>

通过 .net (c#):

var message = queue.GetMessage();

queue.UpdateMessage(message,
    TimeSpan.FromSeconds(30),
    MessageUpdateFields.Visibility);

有关 API 通话的详细信息,请参阅 here