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


Вызов конечных точек 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).

    Примечание.

    Чтобы ссылаться на файл 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-адрес Swagger. URL-адрес может использовать другой формат.

    Снимок экрана: конструктор рабочих процессов с выбранной областью добавления фигуры триггера и сведений для триггера HTTP + Swagger. Для свойства конечной точки Swagger задан пример URL-адреса.

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

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

  6. Если триггеру требуется указать расписание запуска, укажите повторение для частоты вызова конечной точки триггера.

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

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

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

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

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

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

  1. На портале Azure откройте ресурс и рабочий процесс приложения логики в конструкторе.

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

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

    В следующем примере используется нефункциональный URL-адрес Swagger. URL-адрес может использовать другой формат.

    Снимок экрана: конструктор рабочих процессов с триггером с именем Fabrikam API — создание заказа и открытие области сведений для действия HTTP + Swagger. Для свойства конечной точки Swagger задан URL-адрес.

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

  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>

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

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

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

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

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