json - 数据工厂将数据源复制为接收器对象的主体

标签 json azure azure-data-factory

我一直在尝试创建一个 ADF 管道,将数据从我们的一个数据库移动到 azure 存储文件夹中 - 但我似乎无法使转换正常工作。

我正在使用复制数据任务,并将源和接收器设置为数据集,并且数据从一个数据集流向另一个数据集,这只是困扰我的格式。

在我们的数据库中,我们有一个包含 JSON 对象的字段,需要将其映射到接收器对象,但没有列名称,它只是基本对象。

例如,来源看起来像这样 A picture of the table

我的输出需要如下所示

[
    { 
      "ID": 123, 
      "Field":"Hello World", 
      "AnotherField":"Foo"
    },
    { 
      "ID": 456, 
      "Field":"Don't Panic", 
      "AnotherField":"Bar"
    }
]

但是,复制数据任务似乎只接受直接源 -> 接收器映射,并且还将 SQL Server 字段视为 VARCHAR(我认为是这样)。所以结果我把它从另一边拿出来

[
    {
      "Json": "{\"ID\": 123,\"Field\":\"Hello World\",\"AnotherField\":\"Foo\"}"
    },
    {
      "Json": "{\"ID\": 456,\"Field\":\"Don't Panic\",\"AnotherField\":\"Bar\"}"
    }
]

我尝试在源字段上使用内部 @json() 解析函数,但这会导致管道中出现错误。我也无法让接收器直接映射为输出数组内的对象。

我有一种感觉,我不应该使用复制数据,或者复制数据不支持我想要执行的转换级别。有人能让我走上正确的道路吗?

最佳答案

使用 JSON 数据集作为数据流中的源允许您设置五个附加设置。这些设置可以在“源选项”选项卡的 JSON 设置 Accordion 下找到。对于文档格式设置,您可以选择“单个文档”、“每行文档”和“文档数组”类型之一。

enter image description here

选择文档表单作为文档数组。

引用 - https://learn.microsoft.com/en-us/azure/data-factory/format-json

关于json - 数据工厂将数据源复制为接收器对象的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71384486/

相关文章:

azure - 为什么外部使用者的 Azure API 管理中的客户端身份验证需要 PFX 文件?

azure - 如何获取ADF管道历史数据

json - 更改 JSON 响应上的按钮可见性时滞后

json - 试图解析递归 JSON,我在正确的轨道上吗?

Azure CLI - Web 应用程序部署

azure - 通过 CI/CD 中的 ARM 模板删除 ADF 中的资源不起作用

Azure 数据工厂副本

json - 如何使用 jq 递归地将函数应用于记录结构中的所有字符串

json - HTTP 请求 Angular 2

c# - 如何在微服务架构中进行集成测试