【问题标题】:Azure Data Factory Webhook body problemsAzure 数据工厂 Webhook 主体问题
【发布时间】:2020-11-16 21:47:25
【问题描述】:

所以我在 Azure 数据工厂中遇到了一些问题。 我有一个标准管道,我正在尝试为以后的回调实现一个 webhook,但 webhook 帖子的正文似乎没有表现。

(提前:抱歉图片网址 -> 我没有足够的信誉发布图片)

这是我在 Webhook 服务的“正文”中输入的内容:https://imagizer.imageshack.com/img922/3765/ApbiRN.jpg

然后我验证模板看起来是否正确: https://imagizer.imageshack.com/img924/5448/vN82Vp.jpg

最后我调试了管道,却发现这是 webhook 的输出:https://imagizer.imageshack.com/img923/3697/AEDzOT.jpg

如您所见,它正在从某个地方抓取一个 {"Key":"Value"}。 现在我已经保存了管道;我已经发布了管道;我已经重启了 ADF.. 还是这样。

所以第一个问题是我无法发送我想要的正文。 第二个问题是我想参数化身体(当这被清除时):

{
  "key1":"@{pipeline().parameters.param1}",
  "key2":"@{pipeline().parameters.param2}",
  "key3":"@{pipeline().parameters.param3}"
}

我也无法解决最后一个问题,所以如果有任何善良的灵魂会如此善良..非常感激!

编辑:此外,我无法发现文档承诺的“callBackUri”:https://docs.microsoft.com/en-us/azure/data-factory/control-flow-webhook-activity

对这个问题也有任何见解吗?

【问题讨论】:

    标签: azure-data-factory


    【解决方案1】:

    我尝试了很多次,终于成功了。
    在您的情况下,您可以使用如下表达式:

    @json(concat(concat('{"key1":"',pipeline().parameters.param1,'",'),concat('"key2":"',pipeline().parameters.param2,'",'),concat('"key3":"',pipeline().parameters.param3,'"}')))
    

    结果如下:

    1. 首先,我们需要连接查询字符串。
    2. 那么我们需要使用@json()将string类型转换为json类型。

    【讨论】:

    • 谢谢约瑟夫。第二天早上,管道再次运行(接受我的输入)。当涉及到变量时,我发现 WebHook 与 Web 的行为是不同的。我实际上是在发送一个嵌套的字典(和列表),即 {"var":"test", "dict":{"key1":"val1"}, "list":["1","2"]}当 Webhook 中没有用 "" 包裹时,将 list 和 dict 变量合并到 webhook 中会引发错误(即 @{pipeline().parameters.param1})。最后使用“设置变量”将整个字符串设置为变量,然后在 Webhook 帖子中使用 @json()-ing 变量。
    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2017-11-18
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多