我已经成功地动态映射了源和宿模式,现在我试图在Data Factory V2中定义一个具有动态内容的数据集模式。
出于测试目的,我使用数据集架构定义了字符串类型的管道参数,如下所示。
{
"name": "COLUMN_1",
"type": "String"
},
{
"name": "COLUMN_2",
"type": "String"
},
{
"name": "COLUMN_3",
"type": "Int32"
}
然后在数据集JSON结构属性中调用它。
"structure": {
"value": "@json(pipeline().parameters.schema)",
"type": "Expression"
},
我通过询问'Structure'参数,使用Get Metadata活动检查输出,一切看起来都正确。
"structure": [
{
"name": "COLUMN_1",
"type": "String"
},
{
"name": "COLUMN_2",
"type": "String"
},
{
"name": "COLUMN_3",
"type": "Int32"
}
],
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West Europe)",
"executionDuration": 100
实际上,如果我在具有手动定义的架构的数据集上运行相同的Get Metadata活动,则输出是相同的,并且复制活动成功。但是,当使用动态数据集时,出现以下错误:
{
"errorCode": "2200",
"message": "The value of property 'structure' is in unexpected type 'IList`1'. ",
"failureType": "UserError",
"target": "CopyData"
}
我已经用相同的问题复查了DF V2文档和此MSDN帖子,但是我无法纠正此问题。我还尝试了不使用json函数调用管道参数,以及将参数定义为类型对象。