Создание триггера, запускающего конвейер в ответ на событиеCreate a trigger that runs a pipeline in response to an event

В этой статье описаны триггеры на основе событий, создаваемые в конвейерах Фабрики данных.This article describes the event-based triggers that you can create in your Data Factory pipelines.

Управляемая событиями архитектура (EDA) — это общий шаблон интеграции данных, включающий в себя производство, обнаружение, потребление и реагирование на события.Event-driven architecture (EDA) is a common data integration pattern that involves production, detection, consumption, and reaction to events. В сценариях интеграции данных часто требуется, чтобы клиенты фабрики данных инициировали конвейеры на основе таких событий, как прибытие или удаление файла в учетной записи хранения Azure.Data integration scenarios often require Data Factory customers to trigger pipelines based on events such as the arrival or deletion of a file in your Azure Storage account. Фабрика данных теперь интегрируется с Сеткой событий Azure, что позволяет активировать конвейеры на основе событий.Data Factory is now integrated with Azure Event Grid, which lets you trigger pipelines on an event.

Уделите 10 минут своего времени, чтобы просмотреть следующее видео с кратким обзором и демонстрацией этой функции:For a ten-minute introduction and demonstration of this feature, watch the following video:

Примечание

Интеграция, описанная в этой статье, зависит от службы Сетка событий Azure.The integration described in this article depends on Azure Event Grid. Убедитесь, что ваша подписка зарегистрирована у поставщика ресурсов "Сетка событий".Make sure that your subscription is registered with the Event Grid resource provider. См. дополнительные сведения о поставщиках и типах ресурсов.For more info, see Resource providers and types.

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

В этом разделе показано, как создать триггер события в пользовательском интерфейсе фабрики данных Azure.This section shows you how to create an event trigger within the Azure Data Factory User Interface.

  1. Переход к холсту разработкиGo to the Authoring Canvas

  2. В левом нижнем углу нажмите кнопку триггеры .In the bottom-left corner, click on the Triggers button

  3. Щелкните + создать , после чего откроется панель навигации создание триггера.Click + New which will open up the create trigger side nav

  4. Выберите событие типа триггераSelect trigger type Event

Создание триггера события

  1. Выберите свою учетную запись хранения в раскрывающемся списке подписки Azure или вручную с помощью идентификатора ресурса учетной записи хранения.Select your storage account from the Azure subscription dropdown or manually using its Storage account resource ID. Выберите контейнер, в котором должны выполняться события.Choose which container you wish the events to occur on. Выбор контейнера является необязательным, но учитывать, что выбор всех контейнеров может привести к большому числу событий.Container selection is optional, but be mindful that selecting all containers can lead to a large number of events.

    Примечание

    В настоящее время триггер событий поддерживает только учетные записи хранения общего назначения версии 2 Azure Data Lake Storage 2-го поколения и.The Event Trigger currently supports only Azure Data Lake Storage Gen2 and General-purpose version 2 storage accounts. В связи с ограничением сетки событий Azure фабрика данных Azure поддерживает не более 500 триггеров событий для каждой учетной записи хранения.Due to an Azure Event Grid limitation, Azure Data Factory only supports a maximum of 500 event triggers per storage account.

  2. Путь к большому двоичному объекту начинается с , а путь к большому двоичному объекту с помощью свойств позволяет указать контейнеры, папки и имена больших двоичных объектов, для которых требуется получить события.The Blob path begins with and Blob path ends with properties allow you to specify the containers, folders, and blob names for which you want to receive events. Для триггера события требуется определить хотя бы одно из этих свойств.Your event trigger requires at least one of these properties to be defined. Вы можете использовать различные шаблоны для свойств Blob path begins with (Путь большого двоичного объекта начинается с) и Blob path ends with (Путь большого двоичного объекта заканчивается на), как показано в примерах далее в этой статье.You can use variety of patterns for both Blob path begins with and Blob path ends with properties, as shown in the examples later in this article.

    • Путь к BLOB-объекту начинается с: Путь к большому двоичному объекту должен начинаться с пути к папке.Blob path begins with: The blob path must start with a folder path. Допустимые значения 2018/ : 2018/april/shoes.csvи.Valid values include 2018/ and 2018/april/shoes.csv. Это поле нельзя выбрать, если контейнер не выбран.This field can't be selected if a container isn't selected.
    • Путь к BLOB-объекту заканчивается на: Путь к большому двоичному объекту должен заканчиваться именем файла или расширением.Blob path ends with: The blob path must end with a file name or extension. Допустимые значения shoes.csv : .csvи.Valid values include shoes.csv and .csv. Имя контейнера и папки являются необязательными, но если они указаны, они должны быть /blobs/ разделены сегментом.Container and folder name are optional but, when specified, they must be separated by a /blobs/ segment. Например, контейнер с именем Orders может иметь значение /orders/blobs/2018/april/shoes.csv.For example, a container named 'orders' can have a value of /orders/blobs/2018/april/shoes.csv. Чтобы указать папку в любом контейнере, опустите начальный символ "/".To specify a folder in any container, omit the leading '/' character. Например, april/shoes.csv запустит событие для любого файла с именем shoes.csv в папке a с именем "Апрель" в любом контейнере.For example, april/shoes.csv will trigger an event on any file named shoes.csv in folder a called 'april' in any container.
  3. Укажите, будет ли триггер реагировать на событие создания большого двоичного объекта , событие удаления BLOB-объекта или и то, и другое.Select whether your trigger will respond to a Blob created event, Blob deleted event, or both. В указанном месте хранения каждое событие запустит конвейеры фабрики данных, связанные с триггером.In your specified storage location, each event will trigger the Data Factory pipelines associated with the trigger.

    Настройка триггера события

  4. После настройки триггера нажмите кнопку далее. ПредварительныйПросмотр данных.Once you've configured you trigger, click on Next: Data preview. На этом экране отображаются существующие большие двоичные объекты, соответствующие конфигурации триггера событий.This screen shows the existing blobs matched by your event trigger configuration. Убедитесь, что у вас есть специальные фильтры.Make sure you've specific filters. Настройка слишком широких фильтров может привести к совпадению большого количества созданных и удаленных файлов, что может значительно повлиять на стоимость.Configuring filters that are too broad can match a large number of files created/deleted and may significantly impact your cost. После проверки условий фильтра нажмите кнопку Готово.Once your filter conditions have been verified, click Finish.

    Предварительный просмотр данных триггеров событий

  5. Чтобы подключить конвейер к этому триггеру, перейдите на холст конвейера и нажмите кнопку добавить триггер и выберите создать/изменить.To attach a pipeline to this trigger, go to the pipeline canvas and click Add trigger and select New/Edit. Когда появится боковая панель навигации, щелкните раскрывающийся список выбрать триггер... и выберите созданный триггер.When the side nav appears, click on the Choose trigger... dropdown and select the trigger you created. Щелкните Далее: Предварительный Просмотр данных для подтверждения правильности конфигурации, а затем для проверки правильности предварительной версии данных используется Следующая проверка.Click Next: Data preview to confirm the configuration is correct and then Next to validate the Data preview is correct.

  6. Если у конвейера есть параметры, их можно указать в триггере запустить боковую навигацию по параметрам.If your pipeline has parameters, you can specify them on the trigger runs parameter side nav. Триггер события захватывает путь к папке и имя файла большого двоичного объекта в свойствах @triggerBody().folderPath и @triggerBody().fileName.The event trigger captures the folder path and file name of the blob into the properties @triggerBody().folderPath and @triggerBody().fileName. Чтобы использовать значения этих свойств в конвейере, необходимо сопоставить эти свойства с параметрами конвейера.To use the values of these properties in a pipeline, you must map the properties to pipeline parameters. После сопоставления свойств с параметрами можно получить доступ к значениям, записанным с помощью триггера, через выражение @pipeline().parameters.parameterName в конвейере.After mapping the properties to parameters, you can access the values captured by the trigger through the @pipeline().parameters.parameterName expression throughout the pipeline. По завершении нажмите кнопку Готово .Click Finish once you are done.

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

В предыдущем примере триггер настроен на срабатывание при создании пути BLOB-объекта, завершающегося в файле. csv, в папке Sample-testing — Data.In the preceding example, the trigger is configured to fire when a blob path ending in .csv is created in the folder event-testing in the container sample-data. Свойства FolderPath и filename захватывают расположение нового большого двоичного объекта.The folderPath and fileName properties capture the location of the new blob. Например, при добавлении мовиесдб. csv в образец пути — @triggerBody().folderPath проверка данных или событий имеет sample-data/event-testing значение moviesDB.csvи @triggerBody().fileName имеет значение.For example, when MoviesDB.csv is added to the path sample-data/event-testing, @triggerBody().folderPath has a value of sample-data/event-testing and @triggerBody().fileName has a value of moviesDB.csv. Эти значения сопоставлены в sourceFolder примере с параметрами конвейера и sourceFile могут использоваться в конвейере как @pipeline().parameters.sourceFolder и @pipeline().parameters.sourceFile соответственно.These values are mapped in the example to the pipeline parameters sourceFolder and sourceFile which can be used throughout the pipeline as @pipeline().parameters.sourceFolder and @pipeline().parameters.sourceFile respectively.

Схема JSONJSON schema

В таблице ниже приводится обзор элементов схемы, относящихся к триггерам на основе событий:The following table provides an overview of the schema elements that are related to event-based triggers:

Элемент JSONJSON Element ОписаниеDescription ТипType Допустимые значенияAllowed Values ОбязательныйRequired
scopescope Идентификатор ресурса Azure Resource Manager учетной записи хранения.The Azure Resource Manager resource ID of the Storage Account. СтроковоеString Идентификатор Azure Resource ManagerAzure Resource Manager ID ДаYes
eventsevents Тип событий, вызывающих срабатывание триггера.The type of events that cause this trigger to fire. ArrayArray Microsoft.Storage.BlobCreated, Microsoft.Storage.BlobDeletedMicrosoft.Storage.BlobCreated, Microsoft.Storage.BlobDeleted Да, любое сочетание этих значений.Yes, any combination of these values.
blobPathBeginsWithblobPathBeginsWith Путь большого двоичного объекта должен начинаться с шаблона, указанного для срабатывания триггера.The blob path must begin with the pattern provided for the trigger to fire. Например, /records/blobs/december/ активирует только триггер для больших двоичных объектов в папке december контейнера records.For example, /records/blobs/december/ only fires the trigger for blobs in the december folder under the records container. СтроковоеString Вы должны предоставить значение хотя бы для одного из этих свойств: blobPathBeginsWith или blobPathEndsWith.You have to provide a value for at least one of these properties: blobPathBeginsWith or blobPathEndsWith.
blobPathEndsWithblobPathEndsWith Путь большого двоичного объекта должен оканчиваться шаблоном, указанным для срабатывания триггера.The blob path must end with the pattern provided for the trigger to fire. Например, december/boxes.csv активирует только триггер для больших двоичных объектов с именем boxes в папке december.For example, december/boxes.csv only fires the trigger for blobs named boxes in a december folder. СтроковоеString Вы должны предоставить значение хотя бы для одного из этих свойств: blobPathBeginsWith или blobPathEndsWith.You have to provide a value for at least one of these properties: blobPathBeginsWith or blobPathEndsWith.

Примеры триггеров на основе событийExamples of event-based triggers

В этом разделе приведены примеры параметров триггера на основе событий.This section provides examples of event-based trigger settings.

Важно!

Каждый раз, когда вы указываете контейнер и папку, контейнер и файл или контейнер, папку и файл, добавляйте сегмент пути /blobs/, как показано в следующих примерах.You have to include the /blobs/ segment of the path, as shown in the following examples, whenever you specify container and folder, container and file, or container, folder, and file. Для блобпасбегинсвиспользовательский интерфейс фабрики данных автоматически добавит /blobs/ между папкой и именем контейнера в JSON триггера.For blobPathBeginsWith, the Data Factory UI will automatically add /blobs/ between the folder and container name in the trigger JSON.

СвойствоProperty ПримерExample ОписаниеDescription
Путь большого двоичного объекта начинается сBlob path begins with /containername/ Получает события для любого большого двоичного объекта в контейнере.Receives events for any blob in the container.
Путь большого двоичного объекта начинается сBlob path begins with /containername/blobs/foldername/ Получает события для любого большого двоичного объекта в контейнере containername и папке foldername.Receives events for any blobs in the containername container and foldername folder.
Путь большого двоичного объекта начинается сBlob path begins with /containername/blobs/foldername/subfoldername/ Можно также указать ссылку на вложенную папку.You can also reference a subfolder.
Путь большого двоичного объекта начинается сBlob path begins with /containername/blobs/foldername/file.txt Получает события для большого двоичного объекта с именем file.txt в папке foldername в контейнере containername.Receives events for a blob named file.txt in the foldername folder under the containername container.
Большой двоичный объект оканчивается наBlob path ends with file.txt Получает события для большого двоичного объекта с именем file.txt в любом пути.Receives events for a blob named file.txt in any path.
Большой двоичный объект оканчивается наBlob path ends with /containername/blobs/file.txt Получает события для большого двоичного объекта с именем file.txt в контейнере containername.Receives events for a blob named file.txt under container containername.
Большой двоичный объект оканчивается наBlob path ends with foldername/file.txt Получает события для большого двоичного объекта с именем file.txt в папке foldername в любом контейнере.Receives events for a blob named file.txt in foldername folder under any container.

Следующие шагиNext steps

Дополнительные сведения см. в руководстве по выполнению конвейера и использованию триггеров.For detailed information about triggers, see Pipeline execution and triggers.