gpt4 book ai didi

sql - Azure 数据工厂 - 如何将 SQL 查询结果映射到 JSON 字符串?

转载 作者:行者123 更新时间:2023-12-02 08:17:00 27 4
gpt4 key购买 nike

我有一个名为 FileGroups 的 SQL 表。我将查询某些列,例如 ID、名称和版本。在我的 Azure 数据工厂管道中,我希望将 SQL 查询结果中的列名称和行值映射到 JSON 字符串的键值对。我还需要在 JSON 字符串中包含几个管道参数。然后,我将传递此 JSON 字符串作为管道末尾的存储过程的输入。

生成的 JSON 字符串将如下所示:

{
"id": "guid1",
"name": "fileGroup1",
"version": 1.0,
"pipeline_param_1": "value1",
"pipeline_param_2": "value2"
},
{
"id": "guid2",
"name": "fileGroup2",
"version": 2.0,
"pipeline_param_1": "value1",
"pipeline_param_2": "value2"
}

如何在 ADF 管道中查询 SQL 表并构建此 JSON 字符串?为了实现这一目标,我需要哪些事件或数据流转换?

最佳答案

最简单的实现方法是使用“复制事件”

这是我创建的一个快速演示,我想将 SQL 数据转换为 Json,我从 SQL 示例数据复制了 SalesLT.Customer 数据

  1. 使用 Azure 门户中的示例数据创建了 SQL 数据库。
  2. 在 Azure 数据工厂中,我将数据库添加为数据集。
  3. 创建了一个管道,并将其命名为“mapSQLDataToJSON”
  4. 在管道中,我添加了“复制事件”
  5. 在复制事件中,我添加了 sql 数据库作为源数据集并添加了查询选项,查询:"@concat('select CustomerID,Title, pipelineId= ''', pipeline().RunId,' ''来自 SalesLT.Customer')"

在这里,您可以选择所需的列,并向数据中添加一个新列,就像我一样,添加一个新列“pipId”并使用管道参数。

  • 在复制事件中,我添加了 blob 存储作为接收器,并将数据类型添加为“Json”
  • 测试连接并触发管道
  • 我打开了 blob 存储,然后单击了复制的 Json 数据,它起作用了。
  • 复制 ADF 中的事件: enter image description here

    blob 存储中的数据: enter image description here

    您可以在此处阅读有关复制事件和管道参数的信息,链接:

    https://learn.microsoft.com/en-us/azure/data-factory/control-flow-system-variables

    https://learn.microsoft.com/en-us/azure/data-factory/copy-activity-overview

    关于sql - Azure 数据工厂 - 如何将 SQL 查询结果映射到 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72757185/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com