Azure数据工厂从数组获取对象属性

时间:2020-11-11 06:43:42

标签: azure-data-factory azure-data-factory-2

我有一个Get Metadata活动,该活动获取Blob容器下的所有子项。有文件和文件夹,但我只需要文件。因此,在一个筛选器活动中,该活动仅筛选=文件类型的项目。这是我从过滤器活动中得到的:

    Output
    {
        "ItemsCount": 4,
        "FilteredItemsCount": 3,
        "Value": [
            {
                "name": "BRAND MAPPING.csv",
                "type": "File"
            },
            {
                "name": "ChinaBIHRA.csv",
                "type": "File"
            },
            {
                "name": "ChinaBIHRA.csv_20201021121500",
                "type": "File"
            }
        ]
    }

因此,将返回一个包含3个对象的数组。每个对象都有一个名称和类型属性。我只想将名称作为参数输入到存储过程活动中。我已使用此表达式尝试获取以逗号分隔的列表作为参数。

    @join(activity('Filter1').output.Value.name, ',')

并收到此错误:

            The expression 'join(activity('Filter1').output.Value.name, ',')' cannot be evaluated because property 'name' cannot be selected. Array elements can only be selected using an integer index.

那我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

您可以在“筛选器”活动之后创建“每个活动”。在“每个活动”中,附加文件名。

步骤:

1。创建两个变量。 enter image description here

2。每个活动的设置 enter image description here

3。在For Each活动中设置附加变量活动 enter image description here

4。设置变量的设置 enter image description here