如何在 Azure 中的 ADF V2 动态内容中转义 json?

Hoo*_*och 5 azure azure-data-factory

我正在调用 Azure 函数,并使用动态内容构建请求正文。

这就是我构建它的方式:

{
  "test": "Test1",
  "data": "@{activity('Upload SKU').output}"
}
Run Code Online (Sandbox Code Playgroud)

我的“数据”节点有问题。@{activity('Upload SKU').output是一个json字符串。因此动态内容会造成“混乱”。它无法逃脱它。

它创建了这个:

{
  "test": "Test1",
  "data": "{"a": "1"}"
}
Run Code Online (Sandbox Code Playgroud)

如何转义@{activity('Upload SKU').output以便{"a": "1"}创建{\"a\": \"1\"}以便可以将其视为字符串而不是作为 下的节点"data"

这就是我想要实现的目标:

{
  "test": "Test1",
  "data": "{\"a\": \"1\"}"
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*ong 1

您可以从我之前的案例中得到一些线索:Error "BadRequest" when call Azure Function in ADF

解决方案是在动态内容中使用@json()and 。@concat()对于您来说,整个过程data可能如下所示:

@json(concat('{"test": "Test1,"data":"',@{activity('Upload SKU').output,'"}'))
Run Code Online (Sandbox Code Playgroud)

只是为了总结:

事实证明,ADF 表达式编辑器中存在错误,因为当 @Hooch 将完全相同的表达式直接放入“body”字段而不使用表达式编辑器时,它可以工作。