问题描述
问题
Azure 队列步骤(在逻辑应用程序中)是否自动出列消息?
以下是一些背景信息:
我有一个逻辑应用程序,它被设置为将字符串插入到 azure 队列中。 入队后,函数应用程序将通过队列触发器调用。 到我的函数应用程序处理此消息时,队列现在是空的。 或者我的函数应用程序处理的队列触发器(它没有明确地出队/删除任何排队的消息)是否会自动出队?
我注意到,当我通过手动将消息插入队列(通过 Azure 存储资源管理器)来测试队列时,该消息确实会自行消失。所以这让我觉得队列触发器会以某种方式自动删除消息(即出列)?
谢谢。
解决方法
我不明白这个问题:
Azure 队列步骤(在逻辑应用程序中)是否自动出列消息?
对消息进行排队不会使消息出队。这是由同一队列触发的 azure 函数完成的。成功处理消息后,函数运行时会将消息标记为已完成,因此它不会再次出现。如果失败,它会重试一定数量的重试。
所以:
或者由我的函数应用程序处理的队列触发器(它没有明确地出队/删除任何排队的消息)是否会自动出队?
是的!
请参阅 this GitHub issue 以供参考。太糟糕了,它没有在 the docs
中明确提及