активность функции Azure в Фабрика данных Azure

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

Действие функции Azure позволяет запускать Функции Azure в конвейере Фабрика данных Azure или Synapse. Чтобы запустить функцию Azure, необходимо создать подключение связанной службы. Затем можно использовать связанную службу с действием, указывающим функцию Azure, которую планируется выполнить.

Создание действия функции Azure с помощью пользовательского интерфейса

Чтобы использовать действие функции Azure в конвейере, выполните следующие действия:

  1. Разверните раздел Functions на панели действий конвейера и перетащите действие функции Azure на холст конвейера.

  2. Выберите новое действие функции Azure на холсте, если оно еще не выбрано, и перейдите на вкладку Settings, чтобы изменить ее сведения.

    Скриншот пользовательского интерфейса активности функции Azure.

  3. Если у вас еще нет связанной службы функции Azure, выберите "Создать", чтобы создать новую. В новой панели связанной службы функции Azure выберите существующий URL-адрес приложения Azure Functions и укажите ключ функции.

    Скриншот области создания новой связанной службы функции Azure.

  4. После выбора связанной службы Azure Functions укажите имя функции и другие сведения, чтобы завершить настройку.

связанная служба Azure Functions

Возвращаемый тип функции Azure должен быть допустимым JObject. (Имейте в виду, что JArrayнеJObject является объектом.) Любой возвращаемый тип, кроме JObject, вызывает ошибку: Содержимое ответа не является допустимым JObject.

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

Свойство Description Обязательный
Тип Свойство type должно иметь значение: AzureFunction Да
URL-адрес функционального приложения URL-адрес приложения-функции Azure. Формат – https://<accountname>.azurewebsites.net. Этот URL-адрес является значением в разделе URL при просмотре вашего Function App в портале Azure. Да
Ключ функции Ключ доступа для функции Azure. Выберите раздел "Управление " для соответствующей функции и скопируйте ключ функции или ключ узла. Дополнительные сведения см. здесь: работа с ключами доступа Да
Проверка подлинности Метод проверки подлинности, используемый для вызова функции Azure. Поддерживаемые значения: системно назначаемая управляемая идентичность или "анонимный". Да
ИД ресурса Идентификатор приложения (клиента) функции Azure. Перейдите в раздел аутентификации для соответствующей функции и получите идентификатор приложения (клиента) у поставщика удостоверений. Это свойство отображается при использовании системно назначаемого управляемого удостоверения. Дополнительные сведения см. в разделе Настройка службы приложений или приложения Функции Azure для использования входа Microsoft Entra. Нет*

/* Свойство resourceId требуется при использовании аутентификации с использованием управляемых удостоверений, назначаемых системой.

Проверка подлинности с помощью назначенного системой управляемого удостоверения

Аутентификация назначаемого системой управляемого удостоверения (SAMI) можно использовать двумя способами:

  • Задайте идентификатору ресурса значение на https://management.azure.com. Фабрика данных подключается к функциональному приложению с помощью системного управляемого удостоверения и выполняет приложение с анонимной проверкой подлинности.

  • Для безопасных сред, в которых не требуется использовать анонимную проверку подлинности, настройте имя субъекта-службы (SPN) в качестве идентификатора ресурса. SPN должно быть корректно настроено в функциональном приложении:

    1. Создайте регистрацию приложения в качестве идентификатора принциала службы.

    2. В приложении-функции перейдите в раздел "Проверка подлинности " в разделе "Параметры " и создайте поставщика удостоверений.

    3. Добавьте идентификатор приложения ADF в раздел "Разрешенные запросы" из раздела "Определенные клиентские приложения" и идентификатор объекта в разделе "Разрешить запросы из определенного раздела" Идентификатор приложения и идентификатор объекта можно найти следующим образом:

      1. Откройте портал Azure
      2. Переход к корпоративным приложениям
      3. Найдите имя Фабрика данных Azure/управляемой учетной записи.
      4. Скопируйте идентификаторы объектов и приложений, найденные в таблице.

      Снимок экрана: регистрация приложения, показывающая поля для заполнения идентификатором приложения и идентификатором объекта.

активность функции Azure

Свойство Description Допустимые значения Обязательный
Имя. Название действия в конвейере данных. Строка Да
Тип Тип действия — "AzureFunctionActivity" Строка Да
Связанная служба Связанная служба функций Azure для соответствующего функционального приложения Azure Ссылка на связанную службу Да
Имя функции Имя функции в приложении-функции Azure, вызываемой этим действием Строка Да
Способ Метод REST API для вызова функции Поддерживаемые типы строк: GET, POST и PUT Да
Заголовок Заголовки, отправляемые в запрос. Например, чтобы задать язык и тип запроса: "заголовки": { "Accept-Language": "en-us", "Content-Type": "application/json" } Строка (или выражение с типом результата "строка") Нет
Основной текст Текст, отправляемый вместе с запросом к методу API функции Строка (или выражение с типом результата "строка") или объект. Необходимо для методов PUT или POST

Просмотрите схему полезных данных запроса в разделе Схема полезных данных запроса.

Маршрутизация и запросы

Действие функции Azure поддерживает маршрутизацию. Например, если ваша функция Azure имеет конечную точку https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>, то functionName для использования в действии функции Azure будет <functionName>/<value>. Эту функцию можно параметризовать, чтобы обеспечить требуемое значение functionName во время выполнения.

Примечание.

Свойство functionName для Устойчивые функции должно быть взято из свойства route привязки функции в определении JSON, чтобы включить сведения о маршрутизации. Просто использование functionName без сведений о маршруте приводит к сбою, так как функциональное приложение не найдено.

Действие функции Azure также поддерживает запросы. Запрос должен быть включён в состав functionName. Например, если имя функции HttpTriggerCSharp, а запрос, который требуется включить, — name=hello, можно создать functionName в действии функции Azure как HttpTriggerCSharp?name=hello. Эту функцию можно параметризовать, чтобы значение можно было определить во время выполнения.

Прерывание по таймауту и долго выполняющиеся функции

Функции Azure прерывается через 230 секунд независимо от настройки functionTimeout, которую вы задали в параметрах. Дополнительные сведения см. в этой статье. Чтобы обойти это поведение, следуйте асинхронным шаблонам или используйте Устойчивые функции. Преимуществом Устойчивые функции является то, что они предлагают собственный механизм отслеживания состояния, поэтому вам не нужно реализовать собственное отслеживание состояния.

Дополнительные сведения о Устойчивые функции можно найти в этой статье. Вы можете настроить действие функции Azure для вызова устойчивой функции, которая вернет ответ с другим универсальным кодом ресурса (URI), например this example. Так как statusQueryGetUri возвращает состояние HTTP 202 во время выполнения функции, вы можете опросить состояние функции с помощью веб-действия. Настройте веб-действие с полем url, для которого задано значение @activity('<AzureFunctionActivityName>').output.statusQueryGetUri. После завершения Durable Function её выходные данные становятся выходными данными веб-действия.

Пример

Пример, использующий функцию Azure для извлечения содержимого файла tar here.

Узнайте больше о поддерживаемых действиях в разделе Конвейеры и действия.