将元数据从 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}
我正在尝试将元数据从 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}