Azure队列首次更新不可见消息失败。消息变得可见后成功

时间:2017-12-12 17:26:00

标签: azure azure-cloud-services azure-queues azure-storage-queues

  1. 我使用AddMessage创建了一条不可见的消息。隐形6个小时。 Azure存储资源管理器显示" 0 of 1 message"。这意味着该消息已被队列服务接受,但尚未可见。

  2. 成功进行addMessage调用后保存messageId和Pop Receipt。

  3. 从其他应用程序,当我尝试使用上面的messageId和PopReceipt UpdateMessage时。它抛出一个错误 "未找到404消息"。

  4. 一旦看到相同的消息,UpdateMessage就会成功使用相同的messageId和PopReceipt。现在我改变了它的内容和可见度 - 让它在4小时内不可见。 Azure存储资源管理器现在显示" 0的1条消息" 在此UpdateMessage之后,生成了一个新的PopReceipt。

  5. 从其他应用程序中,我尝试使用新的PopReceipt更新不可见的消息。这次UpdateMessage成功了。

  6. 看起来UpdateMessage第一次失败了。一旦消息对队列可见,则无论消息的可见性如何,后续的UpdateMessage调用都会成功。

    知道这里发生了什么,或者我错过了什么?

    更新

    还有一个观察结果:

    1

    queue.AddMessage(msg, System.Nullable(), invisibleTime) 
    queue.UpdateMessage(msg, invisibleTime,...) 
    //save msg.messageId and msg.PopReceipt to be used later
    
    1. 来自其他应用程序:

      msg = new CloudQueueMessage(mid, popReceipt) //saved vals from (1)
      queue.UpdateMessage(msg, newInvisibleTime, ...) 
      
    2. 这里UpdateMessage允许我更新不可见的消息。

      如果我从步骤(1)中删除了 UpdateMessage ,则在步骤(2)中, UpdateMessage 调用将失败并显示错误404 message not found < / p>

0 个答案:

没有答案