逻辑应用中的 Azure 服务总线队列错误
Posted
技术标签:
【中文标题】逻辑应用中的 Azure 服务总线队列错误【英文标题】:Azure service bus queue error in the logic app 【发布时间】:2017-04-08 05:50:52 【问题描述】:我正在尝试在我的逻辑应用程序中使用服务总线队列发送操作,该操作将消息发送到队列。当逻辑应用运行时,操作返回此错误:
"status": 403,
"message": "Cannot use a trigger on an entity with auto-forwarding enabled.",
"source": "127.0.0.1"
虽然在创建队列时我没有设置启用自动转发。有什么帮助吗?
【问题讨论】:
如果您使用 SBExplorer 检查队列,是否有任何机会启用转发? 【参考方案1】:检查是否在队列上启用了会话。
【讨论】:
【参考方案2】:检查您没有为服务总线队列启用分区。 在“新”天蓝色门户中创建队列时默认开启。
遇到同样的误导性错误。
【讨论】:
我想知道过去是否默认关闭,我发誓对于我创建的旧主题我没有取消选中它。无论如何,谢谢你把我的头发拉了出来。 是的,它在旧门户中默认关闭。我自己在那里做了一段时间的头发拉业务:-)【参考方案3】:自动转发是服务总线队列和主题中的一项功能,通过启用它(设置目标队列或主题),发送到队列或主题的消息将被转发到目标实体。
您不能在逻辑应用发送或接收消息操作中使用此类实体。不能使用 Azure 门户设置此属性。您可以使用 Service Bus Explorer 或 Serverless360 等工具或使用此 .Net client。
查看此处了解有关Auto-Forwarding的更多详细信息
【讨论】:
【参考方案4】:在我的情况下,存在指向该问题的触发错误,这与在命名队列上启用会话的强制执行有关。创建另一个队列并删除会话要求,解决了问题。
最初的错误信息并不清楚,因为它只说明了以下内容:
"status": 403,
"message": "Cannot use a trigger on 'transfwopartition' entity with auto-forwarding enabled.\r\nclientRequestId: b62228df-830d-4564-a1f9-6727102fe2f0",
"source": "servicebus-ne.azconn-ne.p.azurewebsites.net"
自动转发已关闭,并且从未在我的队列中启用。同样适用于分区(不确定使用分区是否会有所不同,但根据此处之前的评论进行了检查)。
但是,如果您查看触发器错误,您将获得更详细的错误消息,如下所示,表明这是会话问题。因此,解决方案是使用不强制会话或不提供会话 ID(对于支持此参数的操作)的队列。
"body":
"status": 400,
"message": "It is not possible for an entity that requires sessions to create a non-sessionful message receiver. TrackingId:265012a9-ffe8-4982-85c9-2799ec29b69b_G23_B34, SystemTracker:servicebusmiti:Queue:transfwopartition, Timestamp:2018-12-19T22:29:17\r\nclientRequestId: 872039fa-d310-47f5-a11e-50335ae5f128",
"source": "servicebus-ne.azconn-ne.p.azurewebsites.net"
【讨论】:
以上是关于逻辑应用中的 Azure 服务总线队列错误的主要内容,如果未能解决你的问题,请参考以下文章
Azure 服务总线中的数据库/缓存,用于在其他地方完成的队列中的作业