【问题标题】:Azure Logic App Giving Empty Dynamic ValuesAzure 逻辑应用程序提供空动态值
【发布时间】:2019-10-03 20:02:07
【问题描述】:

我目前正在使用“收到 HTTP 请求时”触发器和“在 Azure Dev Ops 中创建工作项”操作。

这里的用例是使用他们的 webhook 从 DeskPro 接收 JSON 有效负载,然后使用 JSON 有效负载中提供的值创建一个 Azure 工作项(错误、故事等)。

当我尝试在创建工作项操作中使用动态值时,我没有通过在操作中使用动态值获得任何值。

我尝试过使用 Json Parser 和 Initialize Variables 操作,这两种操作都没有给我带来好运。

如何获取动态值以产生实际值?我已确认触发器正在接收 JSON 有效负载,并且正在正确发送。我也尝试在有效负载中使用自定义标头(如下所示),但没有运气。

任何建议将不胜感激。

【问题讨论】:

    标签: azure azure-logic-apps


    【解决方案1】:

    如果你想使用动态内容来获得价值,你必须确保Content-Typeapplication/json。您可以检查运行历史记录中的输出。如果Content-Type不正确,动态内容就会出错。

    如果Content-Type 是其他类型,您仍然可以发现它会处理数据,但是您需要将其解析为json,然后选择值。因为你不提供你的流程,所以我提供我的流程,也许你可以参考一下。

    使用 triggerBody 作为 ParseJSON 内容,单击 Use sample payload to generate schema 并粘贴您的示例 json 数据。然后使用表达式获取body('Parse_JSON')['field'] 之类的值或使用动态内容。

    希望对您有所帮助,如果您还有其他问题,请随时告诉我。

    【讨论】:

    • 我已经尝试了你推荐的,动态变量仍然给我空白字符串。正在发送的数据使用“Content-type: application/json”标头。
    • 你得到了所有的空白值,还是只有一些值是空白的?
    • 所有动态值为空白。
    • 您能否展示一下您在 HTTP 触发器输出中得到了什么以及您正在使用什么动态内容表达式?
    【解决方案2】:

    我遇到了同样的问题并最终解决了。由于某种原因,在这种情况下,当从 HTTP 请求接收触发器开始时,如果您尝试在后续步骤中使用这些值,它似乎会从架构中填充空值,而不是在其输出中填充填充值。

    我能够通过更新动态公式以指定triggerOutput 而不是triggerBody 来填充实际接收的值,或者如果您需要解析json,您可以使用outputs('Parse_Json') 而不是body('Parse_Json')。除了在公式中将正文更改为输出之外,动态填充的公式的其余部分仍然相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2016-10-17
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多