当azure函数从队列中提取消息后抛出异常时会发生什么?

时间:2018-06-15 05:08:41

标签: azure queue azure-functions azure-storage-account

来自AWS的SQS有这样的概念,你必须明确地说你已经成功处理了队列消息,然后才将其从队列中完全删除(我相信它只是“隐藏”一段时间,如果你不知道它就会回来将其标记为已成功处理。)

当从存储队列中拉出消息时,azure函数如何表现,并且在执行azure函数期间抛出异常?消息是否会再次出现在队列中?

2 个答案:

答案 0 :(得分:4)

AFAIK,该消息将再次出现在队列中。运行时只在函数成功处理它时删除队列消息。

以下是类似问题,您可以参考it

  

当邮件出列并传递给您的函数时,它会在一段时间(10分钟)内不可见。在您的函数运行时,将保持此不可见性。如果您的函数失败,则不会删除该消息 - 它将以不可见状态保留在队列中。在visibilty超时到期后,该消息将再次在队列中可见以进行重新处理。

答案 1 :(得分:0)

正如Joy所说,消息将返回队列再次处理。一个关键的考虑因素是,在处理消息的五次失败尝试之后,消息将被移动到毒性队列。

https://docs.microsoft.com/en-us/sandbox/functions-recipes/queue-storage#poison-queue-messages-with-azure-storage-queue-triggers