使用ADF v2将“ GET MetaData”活动输出到SQL表

时间:2019-07-05 07:34:03

标签: azure azure-devops

我在管道中使用“ GetMetadata”活动来获取所有文件夹,子项和项类型。但是此活动以JSON格式提供输出,我无法将值存储到变量中,因此我无法遍历它们。我需要将文件夹元数据存储在sql表中

获取元数据活动示例输出如下。

{
    "itemName": "ParentFolder",
    "itemType": "Folder",
    "childItems": [
        {
            "name": "ChildFolder1",
            "type": "Folder"
        },
        {
            "name": "ChildFolder2",
            "type": "Folder"
        },
        {
            "name": "ChildFolder3",
            "type": "Folder"
        }
    ],
    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (North Europe)",
    "executionDuration": 187
}

是否可以帮助我将上述“获取元数据”活动的json输出存储到如下所示的sql表中。

enter image description here

1 个答案:

答案 0 :(得分:0)

最简单的方法是将Get MetaData输出作为字符串传递给存储的proc,然后使用OPENJSON在您的sql数据库中解析。

这是将输出转换为字符串的方法。 @string(activity('Get Metadata')。output)

现在,您只需将其传递给存储的proc,然后使用OPENJSON对其进行解析即可。

我已经看到许多其他人使用ADF foreach来执行此操作,但是,如果您有1000个文件/文件夹,您最终将为此方法付出大量的时间。 (每个循环都算作一项活动)