Ссылки на метаданные триггера при выполнении конвейера

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В этой статье описывается, как при выполнении конвейера можно использовать метаданные триггера (например, время его запуска).

Иногда конвейеру требуется распознать и считать метаданные из триггера, который его вызывает. Например, при запуске периодического триггера, который использует время начала и окончания работы окна, конвейер будет обрабатывать различные срезы данных или папки. Для передачи метаданных из триггера на конвейер в фабрике данных Azure мы используем параметризацию и системную переменную.

Этот шаблон особенно полезен для периодического триггера, который предоставляет данные о времени начала и окончания работы окна, а также для триггера пользовательского события, который анализирует и обрабатывает значения в настраиваемом поле данных.

Примечание.

Другой тип триггера предоставляет различные сведения о метаданных. Дополнительные сведения см. в статье по системным переменным

Пользовательский интерфейс Фабрики данных

В этом разделе показано, как метаданные из триггера на конвейер в пользовательском интерфейсе фабрики данных Azure.

  1. Переход к холсту разработки и изменение конвейера

  2. Выберите на пустой холст, чтобы открыть параметры конвейера. Не выбирайте никаких действий. Если панель параметров в нижней части холста свернута, извлеките ее

  3. Выберите вкладку Параметры и выберите + Создать, чтобы добавить параметры

    Screen shot of pipeline setting showing how to define parameters in pipeline.

  4. Добавьте триггеры в конвейер, нажав кнопку + Триггер.

  5. Создайте или подключите триггер к конвейеру и нажмите ОК

  6. После нажатия кнопки "ОК" появится список параметров, указанных для конвейера, как показано на следующем снимке экрана. На этой странице заполните метаданные триггера для каждого параметра. Чтобы получить сведения о триггере используйте формат, определенный в системной переменной. Не нужно заполнять данные для всех параметров, а только для тех, которые принимают значения метаданных триггера. Например, здесь мы присваиваем время запуска триггера параметру parameter_1.

    Screenshot of trigger definition page showing how to pass trigger information to pipeline parameters.

  7. Чтобы использовать значения в конвейере, используйте в определениях конвейера параметры @pipeline().parameters.parameterName, а не системную переменную. Например, в нашем случае для чтения времени запуска триггера мы сошлемся на @pipeline().parameters.parameter_1.

Схема JSON

Чтобы передать сведения о триггере на запускаемые конвейеры, необходимо изменить раздел параметров в JSON-определении и триггера, и конвейера.

Определение конвейера

В параметрах раздела свойств добавьте определения параметров

{
    "name": "demo_pipeline",
    "properties": {
        "activities": [
            {
                "name": "demo_activity",
                "type": "WebActivity",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [],
                "typeProperties": {
                    "url": {
                        "value": "@pipeline().parameters.parameter_2",
                        "type": "Expression"
                    },
                    "method": "GET"
                }
            }
        ],
        "parameters": {
            "parameter_1": {
                "type": "string"
            },
            "parameter_2": {
                "type": "string"
            },
            "parameter_3": {
                "type": "string"
            },
            "parameter_4": {
                "type": "string"
            },
            "parameter_5": {
                "type": "string"
            }
        },
        "annotations": [],
        "lastPublishTime": "2021-02-24T03:06:23Z"
    },
    "type": "Microsoft.DataFactory/factories/pipelines"
}

Определение триггера

В параметрах раздела конвейеры укажите значения параметров. Не нужно заполнять данные для всех параметров, а только для тех, которые принимают значения метаданных триггера.

{
    "name": "trigger1",
    "properties": {
        "annotations": [],
        "runtimeState": "Started",
        "pipelines": [
            {
                "pipelineReference": {
                    "referenceName": "demo_pipeline",
                    "type": "PipelineReference"
                },
                "parameters": {
                    "parameter_1": "@trigger().startTime"
                }
            }
        ],
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2021-03-03T04:38:00Z",
                "timeZone": "UTC"
            }
        }
    }
}

Использование в конвейере сведений о триггере

Чтобы использовать значения в конвейере, используйте в определениях конвейера параметры @pipeline().parameters.parameterName, а не системную переменную.

Дополнительные сведения см. в руководстве по выполнению конвейера и использованию триггеров.