我正在尝试在我的逻辑应用程序中使用Service Bus Queue发送操作,该操作将消息发送到队列。当逻辑应用程序运行时,操作返回此错误:
{
"status": 403,
"message": "Cannot use a trigger on an entity with auto-forwarding enabled.",
"source": "127.0.0.1"
}
虽然在创建队列时我没有设置启用自动转发功能。有什么帮助吗?
答案 0 :(得分:1)
检查您是否未为服务总线队列启用分区。 在" new"中创建队列时默认为天蓝色的门户网站。
得到了同样的误导性错误。
答案 1 :(得分:0)
自动转发是服务总线队列和主题中的一项功能,通过启用它(设置目标队列或主题),发送到队列或主题的消息将转发到目标实体。
您不能在Logic App的“发送或接收消息”操作中使用此类实体。您不能使用Azure Portal设置此属性。您可以使用Service Bus Explorer或Serverless360之类的工具或使用此.Net client。
在此处查看有关Auto-Forwarding
的更多详细信息答案 2 :(得分:0)
就我而言,存在指向该问题的触发错误,这与在命名队列上启用会话的实施有关。创建另一个队列并删除会话要求即可解决此问题。
起初,错误消息并不明确,因为它仅指出以下内容:
{
"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"
}
答案 3 :(得分:-3)
检查队列中是否启用了会话。