如何直接在Azure数据工厂管道中转换JSON数据

问题描述

我在连接到数据流的Azure数据工厂管道中进行了查找。查找以以下形式返回JSON数组:

[
    {
        "COLUMN_NAME": "country_code"
    },{
        "COLUMN_NAME": "customer_role"
    },{
        "COLUMN_NAME": "valid_from"
    },{
        "COLUMN_NAME": "valid_to"
    }
]

数据流接受字符串数组作为参数。因此,我需要一种将数据从查找转换为以下形式的字符串数组的方法

[
    "country_code","customer_role","valid_from","valid_to"
]

在我的管道中,查找的输出可用作管道表达式:@activity('GetKeyColumns').output.value

对于数据流,我可以选择是使用数据流表达式还是管道表达式来传递参数(字符串数组)。数据流表达式具有能够映射数据结构的映射功能。但是我不知道如何在此函数中使用查找的输出

有没有办法在管道中实现这种转换?

解决方法

您可以添加变量,类型为数组,然后使用For Each活动并追加变量活动。

步骤:

1。创建一个名为string_array的变量 enter image description here

2。创建一个For Each活动,表达式:@activity('GetKeyColumns').output.value enter image description here

3。在内部创建一个Append变量活动对于每个活动,表达式:@item()['COLUMN_NAME'] enter image description here

4。使用管道表达式将字符串数组传递给数据流:@variables('string_array') enter image description here