Я успешно сопоставил схемы источника и приемника динамически, и сейчас я пытаюсь определить схему набора данных с динамическим содержимым в фабрике данных 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"
},
Я проверяю вывод с помощью действия 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, а также определить параметр как тип объекта.
https://social.msdn.microsoft.com/Forums/en-US/b3e6d8d1-6073-4510-a73c-10ec0db30992/copy-multiple-tables-with-different-destination-name?forum=AzureDataFactory