服务总线触发器属性通过表达式映射到自定义跟踪 ID

问题描述 投票:0回答:1

使用共享服务总线触发器的标准逻辑应用程序 (https://learn.microsoft.com/en-gb/connectors/servicebus/#when-a-message-is-received-in-a-topic-subscription-(auto -完成)

我在“设置”->“触发器跟踪”下的“自定义跟踪 ID”中有以下表达式 @{triggerBody()?['属性']?['clientTrackingId']}

如果没有消息,每次触发触发器都会导致以下异常。我假设是轮询服务总线以查看是否有消息。

无法处理第“1”行和“8804”列处触发器“When_a_message_is_received_in_get-survey-responses”的模板语言表达式:“模板语言表达式“triggerBody()?['Properties']?['clientTrackingId']”不能进行评估,因为无法选择属性“Properties”。 “String”类型的值不支持属性选择。请参阅https://aka.ms/logicexpresss了解使用详细信息。'。

当有有效消息时它工作正常。

有人想出一个不会导致异常的等效表达式吗?

我尝试了@{coalesce(triggerBody()?['Properties']?['clientTrackingId'],workflow().run.name)}但没有喜悦

azure-logic-apps azure-logic-app-standard
1个回答
0
投票

找到解决办法 https://www.connected-pawns.com/2021/02/02/azure-logic-apps-a-custom-tracking-id-service-bus-triggers/

@{if(empty(triggerBody()),guid(),triggerBody()?['属性']?['clientTrackingId'])}

© www.soinside.com 2019 - 2024. All rights reserved.