在 Azure 数据工厂活动中操作 Json

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

我正在从 API 中提取数据,这需要多次调用才能发生。首先,我提出一个请求,该请求为我提供了以下形式的响应正文: “代码”:“200” “身体”: { “日期1”:“日期” “日期2”:“日期” }

此响应正文随后用作 POST 请求正文的一部分来执行查询。 POST 正文需要采用以下格式: { “查询ID”:“ID” “queryBody”:“{ResponseBody}” “类型”:“类型” }

我尝试创建一个字符串对象并在主体周围连接 queryId 和 Type,但我似乎无法让它在 ADF 中工作。我尝试将 json 正文写入文件并合并到一个复制任务中,该任务仅创建一个 2 行 json,即 1 个文件中的单独对象,而不是单个对象,在数据流中联合,这似乎做同样的事情,我可以'似乎没有让adf合作。

有人有什么想法吗?

sql json azure azure-data-factory dataflowtask
1个回答
0
投票

您可以使用

@json()
函数来构建所需的 JSON。

获取第一个响应 JSON 后,使用字符串集变量活动并构建所需的 JSON 字符串。

@concat('{"queryId":"id","queryBody":',string(pipeline().parameters.response.body),',"type": "type" }')

在这里,我将响应 JSON 存储在演示的管道参数中。就您而言,您将从 Web 活动获取响应 JSON。那么,表情就会是这样的。

@concat('{"queryId":"id","queryBody":',string(@activity('Web1').output.body),',"type": "type" }')

您可以根据您的要求更改 JSON 字符串。

enter image description here

它将生成所需的 JSON 字符串,如下所示。

enter image description here

现在,当您将此 JSON 发布到另一个 API 时,请在 POST 请求正文中使用

@json(variables('json_string'))
,如下所示。

enter image description here

这将生成所需的 JSON。在这里,您可以在活动输入中看到它。

enter image description here

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