如何解决在 Azure 存储中使用队列
我正在尝试解决在 .NET 中使用 AzureStorage.Queue 的 1 个问题。
首先,我有 2 个项目,1 个 Web API 项目,1 个 WebJob 项目。 (全部写在.NET Core 2.2)
-
我的项目 API 在创建新产品时,会将产品的 1 个消息存储 ID 插入 Azure 中的消息队列(队列名称:产品)
-
同时在我的项目 Web 作业中,我有 1 个函数使用 [QueueTrigger["product"]] 来侦听新消息插入我的“产品”队列时。但是我不知道为什么在消息插入“product”队列后,我的消息自动删除并插入另一个队列名称“product-poison”?
-
我在 2 项目中使用与 Azure 存储相同的连接字符串。我尝试使用不同的连接字符串,但结果相同。
感谢您对我的支持。
解决方法
您的队列触发器函数使用了您的 API 项目生成的消息,而且该函数似乎没有以正确的格式使用它。
这里有一篇文章说明了为什么会产生毒药队列:Poison messages
当队列触发器函数失败时,Azure Functions 会重试 对于给定的队列消息,最多运行五次,包括 第一次尝试。如果所有五次尝试都失败,则函数运行时会添加一个 消息发送到名为 -poison 的队列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。