逻辑应用程序中的Azure服务总线队列错误

时间:2016-11-24 03:42:05

标签: azure message-queue azureservicebus

我正在尝试在我的逻辑应用程序中使用Service Bus Queue发送操作,该操作将消息发送到队列。当逻辑应用程序运行时,操作返回此错误:

{
  "status": 403,
  "message": "Cannot use a trigger on an entity with auto-forwarding enabled.",
  "source": "127.0.0.1"
}

虽然在创建队列时我没有设置启用自动转发功能。有什么帮助吗?

4 个答案:

答案 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)

检查队列中是否启用了会话。