将元数据从 Azure DataFactory 同步到 SQL 服务器数据库

Syncing Metadata from Azure DataFactory to SQL Server database

我正在尝试将元数据从 Azure DataFactory 管道同步到 SQL 服务器数据库中的 table。

在 Azure 中读取元数据 activity 中可见的输出如下:

{
    "childItems": [
        {
            "name": "DemoFile1",
            "type": "File"
        },

        {
            "name": "DemoFile1",
            "type": "File"
        }
    ],
    "effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (UK South)",
    "executionDuration": 0,
    "durationInQueue": {
        "integrationRuntimeQueue": 0
    },
    "billingReference": {
        "activityType": "PipelineActivity",
        "billableDuration": [
            {
                "meterType": "AzureIR",
                "duration": 0.016666666666666666,
                "unit": "Hours"
            }
        ]
    }
}

我正在使用存储过程将元数据传输到 SQL 服务器数据库。

但是在 SQL 服务器数据库 table 中,我得到的输出为:

System.Collections.Generic.Dictionary`2[System.String,System.Object]

我在 DataFactory 的存储过程 activity 中使用参数传递元数据。

Parameter Name: FileName
Type: String
Value: @activity('Metadata').output.childItems

存储过程代码如下:

BEGIN
 
INSERT INTO Table1 (
name, type)
 
    SELECT
 [name], [type]
    FROM OPENJSON(@FileName, '$.childitems')
    WITH (
       name    NVARCHAR(max) '$.name',
      type  NVARCHAR(max) '$.type'
    ) AS jsonValues
 
END

TIA!

我发现我在这里做错了什么。参数值必须存储为字符串(使用括号)。

Parameter Name: FileName
Type: String
Value: @{activity('Metadata').output.childItems}