Я пытаюсь получить выходные данные из двух разных операций GetMetadataDB и хочу передать их в качестве имен элементов для каждой операции.
Фрагмент кода конвейера
{
"name": "V1",
"properties": {
"activities": [
{
"name": "Get Metadata From Source",
"type": "GetMetadata",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"dataset": {
"referenceName": "DelimitedSourceFile",
"type": "DatasetReference"
},
"fieldList": [
"childItems",
"itemName"
],
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
},
"formatSettings": {
"type": "DelimitedTextReadSettings"
}
}
},
{
"name": "ForEach source and target",
"type": "ForEach",
"dependsOn": [
{
"activity": "Get Metadata from Target",
"dependencyConditions": [
"Succeeded"
]
},
{
"activity": "Get Metadata From Source",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"items": {
"value": "@union(activity('Get Metadata From Source').output.childItems, activity('Get Metadata From Target').output.childItems)",
"type": "Expression"
},
"activities": [
{
"name": "ValidationNotebook",
"type": "DatabricksNotebook",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"notebookPath": "/GetFilenames",
"baseParameters": {
"sourcestgpath": {
"value": "@concat('abfss://',activity('Get Metadata from Source').output.itemName,'@dqstg.dfs.core.windows.net/',item().name)",
"type": "Expression"
},
"targetstgpath": {
"value": "@concat('abfss://',activity('Get Metadata from Target').output.itemName,'@dqstg.dfs.core.windows.net/',item().name)",
"type": "Expression"
}
}
},
"linkedServiceName": {
"referenceName": "AzureDatabricks1",
"type": "LinkedServiceReference"
}
}
]
}
},
{
"name": "Get Metadata from Target",
"type": "GetMetadata",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"dataset": {
"referenceName": "DelimitedTargetFiles",
"type": "DatasetReference"
},
"fieldList": [
"childItems",
"itemName"
],
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true
},
"formatSettings": {
"type": "DelimitedTextReadSettings"
}
}
}
],
"annotations": []
},
"type": "Microsoft.DataFactory/factories/pipelines"
}
Сбой конвейера с ошибкой:
{"error": {"code": "BadRequest", "message": "ErrorCode = InvalidTemplate, ErrorMessage = Выражение ' Activity ('Get Metadata From Source'). output @activity ('Get Metadata from Target'). output 'недопустим: строковый символ' @ 'в позиции' 44 'не ожидается. \ "", "target" : "pipe / V1 / runid / 1457", "details": null}}
Как этого достичь?
Спасибо.