Ссылки на метаданные триггера при выполнении конвейера
Область применения:Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как при выполнении конвейера можно использовать метаданные триггера (например, время его запуска).
Иногда конвейеру требуется распознать и считать метаданные из триггера, который его вызывает. Например, при запуске периодического триггера, который использует время начала и окончания работы окна, конвейер будет обрабатывать различные срезы данных или папки. Для передачи метаданных из триггера на конвейер в фабрике данных Azure мы используем параметризацию и системную переменную.
Этот шаблон особенно полезен для периодического триггера, который предоставляет данные о времени начала и окончания работы окна, а также для триггера пользовательского события, который анализирует и обрабатывает значения в настраиваемом поле данных.
Примечание.
Другой тип триггера предоставляет различные сведения о метаданных. Дополнительные сведения см. в статье по системным переменным
Пользовательский интерфейс Фабрики данных
В этом разделе показано, как метаданные из триггера на конвейер в пользовательском интерфейсе фабрики данных Azure.
Переход к холсту разработки и изменение конвейера
Выберите на пустой холст, чтобы открыть параметры конвейера. Не выбирайте никаких действий. Если панель параметров в нижней части холста свернута, извлеките ее
Выберите вкладку Параметры и выберите + Создать, чтобы добавить параметры
Добавьте триггеры в конвейер, нажав кнопку + Триггер.
Создайте или подключите триггер к конвейеру и нажмите ОК
После нажатия кнопки "ОК" появится список параметров, указанных для конвейера, как показано на следующем снимке экрана. На этой странице заполните метаданные триггера для каждого параметра. Чтобы получить сведения о триггере используйте формат, определенный в системной переменной. Не нужно заполнять данные для всех параметров, а только для тех, которые принимают значения метаданных триггера. Например, здесь мы присваиваем время запуска триггера параметру parameter_1.
Чтобы использовать значения в конвейере, используйте в определениях конвейера параметры @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, а не системную переменную.
Связанный контент
Дополнительные сведения см. в руководстве по выполнению конвейера и использованию триггеров.