Как я могу визуально различать действия в циклах ForEach в шаблонах DataFactory? - PullRequest
0 голосов
/ 10 января 2019

Я работаю с Azure Шаблоны DataFactory и пытаюсь присвоить каждому действию уникальный имя в цикле ForEach , чтобы я мог различать их в конвейере бежать.

Я копирую файлы из BlobStorage в коллекции CosmosDB. Если я выполняю свой сценарий, я вижу только идентичные записи для каждого действия и не вижу, какие коллекции переносятся:

enter image description here

Это то, что я хочу использовать, но выдает ошибку InvalidTemplate:

{
    "name": "ForEach_894",
    "type": "ForEach",
    "typeProperties": {
        "items": {
            "value": "@activity('GetBlobStorageFileNames').output.childItems",
            "type": "Expression"
        },
        "activities": [
            {
                "name": "@{item().name}",
                ...
            }
        ]
    }
}
ErrorCode=InvalidTemplate, ErrorMessage=The template validation failed: 'The name of template action '@{item().name}Scope' at line '1' and column '20385' is not defined or not valid

Мой скрипт работает, если я использую фиксированную строку:

"activities": [
    {
        "name": "abc",
        ...
    }

Может быть, я могу добавить дополнительные столбцы, как в этом случае:

enter image description here

1 Ответ

0 голосов
/ 04 марта 2019

Я столкнулся с той же проблемой. Вы не можете видеть его во время выполнения действия, но после завершения действия будут добавлены столбцы (Источник, Назначение).

enter image description here

Просто укажите их в шаблоне ARM, например:

{
    "name": "ForEach_894",
    "type": "ForEach",
    "typeProperties": {
        "items": {
            "value": "@activity('GetBlobStorageFileNames').output.childItems",
            "type": "Expression"
        },
        "activities": [
            {
                "name": "@{item().name}",
                "userProperties": [
                    {
                        "name": "Source",
                        "value": "@{item().name}"
                    },
                    {
                        "name": "Destination",
                        "value": "@{item().name}"
                    }
                ]
                ...
            }
        ]
    }
}
...