AWS 的 SQS 有这样一个概念,即您必须在队列消息完全从队列中删除之前明确表示您已经成功处理了队列消息(我相信它只是“隐藏”了一段时间,如果你不标记它会回来)它已成功处理)。
当从存储队列中拉出消息并且在执行 azure 函数期间抛出异常时,azure 函数的行为如何?消息是否再次出现在队列中?
AWS 的 SQS 有这样一个概念,即您必须在队列消息完全从队列中删除之前明确表示您已经成功处理了队列消息(我相信它只是“隐藏”了一段时间,如果你不标记它会回来)它已成功处理)。
当从存储队列中拉出消息并且在执行 azure 函数期间抛出异常时,azure 函数的行为如何?消息是否再次出现在队列中?
AFAIK,消息将再次出现在队列中。运行时仅在您的函数成功处理队列消息时删除它。
这是一个类似的问题,你可以参考它。
当消息出列并传递给您的函数时,它会在一段时间(10 分钟)内不可见。当你的函数运行时,这种不可见性会被保持。如果您的函数失败,则消息不会被删除 - 它以不可见的状态保留在队列中。可见性超时到期后,消息将在队列中再次可见以进行重新处理。
正如乔伊所说,消息被返回到队列中再次处理。一个关键的考虑因素是,在处理消息的五次失败尝试后,消息将被移至有害队列。