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


Подключение или вызов конечных точек REST API из рабочих процессов в Azure Logic Apps

Область применения: Azure Logic Apps (Потребление + Стандартный)

Чтобы вызвать конечную точку REST API из рабочего процесса приложения логики в Azure Logic Apps, можно использовать встроенные операции HTTP + Swagger для вызова любой конечной точки REST API через файл Swagger. Триггер и действие HTTP + Swagger работают так же, как триггер HTTP и действие, но обеспечивают лучший интерфейс в конструкторе рабочих процессов, предоставляя структуру и выходные данные API, описанные файлом Swagger. Чтобы реализовать триггер опроса, следуйте шаблону опроса, описанному в статье "Создание пользовательских API", чтобы вызывать другие API, службы и системы из рабочих процессов приложения логики.

Ограничения

Встроенные операции HTTP + Swagger в настоящее время поддерживают только OpenAPI 2.0, а не OpenAPI 3.0.

Необходимые компоненты

  • Учетная запись и подписка Azure. Если у вас еще нет подписки Azure, зарегистрируйтесь для получения бесплатной учетной записи Azure.

  • URL-адрес файла Swagger, описывающего целевую конечную точку REST API, которую требуется вызвать.

    Как правило, конечная точка REST должна соответствовать следующим критериям для работы триггера или действия:

    • Файл Swagger должен размещаться в ресурсе с общедоступным URL-адресом HTTPS.

    • Файл Swagger должен содержать свойство operationID для каждой операции в определении. В противном случае соединитель показывает только последнюю операцию в файле Swagger.

    • В файле Swagger должен быть включен общий доступ к ресурсам независимо от источника (CORS).

    В примерах этого руководства используется azure AI Face, для которого требуется ключ ресурса и регион служб искусственного интеллекта Azure.

    Примечание.

    Чтобы ссылаться на файл Swagger, который не размещен или не соответствует требованиям безопасности и перекрестного происхождения, можно отправить файл Swagger в контейнер BLOB-объектов в учетной записи хранения Azure и включить CORS в этой учетной записи хранения, чтобы вы могли ссылаться на файл.

  • Рабочий процесс приложения логики "Потребление" или "Стандартный", из которого требуется вызвать целевую конечную точку. Чтобы начать с триггера HTTP + Swagger , создайте ресурс приложения логики с пустым рабочим процессом. Чтобы использовать действие HTTP + Swagger, запустите рабочий процесс с любым нужным триггером. В этом примере триггер HTTP + Swagger используется в качестве первой операции.

Добавление триггера HTTP + Swagger

Этот встроенный триггер отправляет HTTP-запрос на URL-адрес файла Swagger, описывающего REST API. Затем триггер возвращает ответ, содержащий содержимое этого файла.

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

  2. В конструкторе выполните следующие общие действия, чтобы добавить триггер HTTP с именем HTTP + Swagger.

  3. В поле конечной точки Swagger введите URL-адрес нужного файла Swagger и нажмите кнопку "Добавить действие".

    Обязательно используйте или создайте собственную конечную точку. Например, эти действия используют следующий URL-адрес API распознавания лиц Azure AI Swagger, расположенный в регионе "Западная часть США", и может не работать в определенном триггере:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Когда в конструкторе появятся операции, описанные в файле Swagger, выберите операцию, которую хотите использовать.

    В следующем примере триггер переименовывается в Face. Определите , чтобы триггер получил более описательное имя.

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

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

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

    Дополнительные сведения о типах проверки подлинности, доступных для HTTP + Swagger, см. в разделе Добавление проверки подлинности в исходящие вызовы.

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

  8. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Добавление действия триггера HTTP + Swagger

Это встроенное действие отправляет HTTP-запрос в URL-адрес файла Swagger, описывающего REST API. Затем действие возвращает ответ, содержащий содержимое этого файла.

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

  2. В конструкторе выполните следующие общие действия, чтобы добавить действие HTTP с именем HTTP + Swagger.

  3. В поле конечной точки Swagger введите URL-адрес нужного файла Swagger и нажмите кнопку "Добавить действие".

    Обязательно используйте или создайте собственную конечную точку. Например, эти действия используют следующий URL-адрес API распознавания лиц Azure AI Swagger, расположенный в регионе "Западная часть США", и может не работать в определенном триггере:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Когда в конструкторе появятся операции, описанные в файле Swagger, выберите операцию, которую хотите использовать.

    В следующем примере действие переименовывается в Face — определение , чтобы действие было более описательным.

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

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

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

    Дополнительные сведения о типах проверки подлинности, доступных для HTTP + Swagger, см. в разделе Добавление проверки подлинности в исходящие вызовы.

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

  8. Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.

Размещение Swagger в службе хранилища Azure

Вы по-прежнему можете ссылаться на файл Swagger, который не размещен или не соответствует требованиям безопасности и перекрестного происхождения. Отправьте файл Swagger в контейнер BLOB-объектов в учетной записи хранения Azure и включите CORS в этой учетной записи хранения. Для создания, настройки и сохранения файлов Swagger в службе хранилища Azure необходимо выполнить следующие действия.

  1. Создание учетной записи хранения Azure.

  2. Теперь включите CORS для большого двоичного объекта. В меню вашей учетной записи хранения выберите CORS. На вкладке Служба BLOB-объектов укажите эти значения, а затем нажмите Сохранить.

    Свойство Значение
    Допустимые источники *
    Допустимые методы GET, , HEADPUT
    Допустимые заголовки *
    Предоставляемые заголовки *
    Максимальный возраст (в секундах) 200

    Хотя в этом примере используется портал Azure, вы можете воспользоваться другим инструментом, таким как Обозреватель службы хранилища Azure, или автоматически настроить этот параметр с помощью скрипта PowerShell из этого примера.

  3. Создайте контейнер BLOB объектов. В панели Обзор контейнера выберите Изменить уровень доступа. В списке Общедоступный уровень доступа выберите BLOB-объект (анонимный доступ на чтение только для BLOB-объектов) и нажмите кнопку ОК.

  4. Отправьте файл Swagger в контейнер BLOB-объектов с помощью портала Azure или Обозревателя службы хранилища Azure.

  5. Чтобы ссылаться на файл в контейнере BLOB-объектов, получите URL-адрес HTTPS, соответствующий этому формату с учетом регистра, из Обозревателя службы хранилища Azure:

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>

технический справочник по Подключение or

В этом разделе содержатся дополнительные сведения о выходных данных триггера и действия HTTP+ Swagger .

Выходные данные

Вызов HTTP + Swagger возвращает следующие сведения:

Имя свойства Type Описание
headers Object Заголовки из запроса
текст Object Объект с содержимым текста из запроса
код состояния Целое Код состояния из запроса
Код состояния Description
200 OK
202 Accepted
400 Недопустимый запрос
401 Не авторизовано
403 Запрещено
404 Не найдено
500 Внутренняя ошибка сервера. Произошла неизвестная ошибка.

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