Поделиться через


Действие функции Azure в Фабрике данных Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

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

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

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

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

  1. Разверните раздел Azure Function на панели действий конвейера, затем перетащите действие Azure Function на холст конвейера.

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

    Отображает пользовательский интерфейс для действия функции Azure.

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

    Показывает панель создания новой связанной службы функции Azure.

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

Связанный сервис Azure Functions

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

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

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

Примечание.

При использовании анонимной аутентификации убедитесь, что вы удалили свои данные на стороне Azure Function.

Действия функции Azure

Свойство Description Допустимые значения Обязательный
Имя. Название действия в конвейере данных. Строка Да
Тип Тип действия – "AzureFunctionActivity" Строка Да
Связанная служба Связанная служба Azure Function для соответствующего приложения Azure Function Ссылка на связанную службу Да
Имя функции Имя функции, которую вызывает это действие в приложении-функции 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. Дополнительные сведения см. в этой статье. Чтобы обойти данное поведение, следуйте асинхронному шаблону или используйте Durable Functions. Преимуществом Устойчивых функций является то, что они предлагают собственный механизм отслеживания состояния, поэтому вам не придется реализовывать его.

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

Пример

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

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