Подключение или вызов конечных точек 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. Затем триггер возвращает ответ, содержащий содержимое этого файла.
В портал Azure откройте ресурс приложения логики "Стандартный" и пустой рабочий процесс в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить триггер HTTP с именем HTTP + Swagger.
В поле конечной точки 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
Когда в конструкторе появятся операции, описанные в файле Swagger, выберите операцию, которую хотите использовать.
В следующем примере триггер переименовывается в Face. Определите , чтобы триггер получил более описательное имя.
Укажите значения параметров триггера в зависимости от выбранной операции, которую вы хотите включить в вызов конечной точки. Настройте периодичность, с которой триггер должен вызывать целевую конечную точку.
Чтобы добавить другие доступные параметры, откройте список дополнительных параметров и выберите нужные параметры.
Дополнительные сведения о типах проверки подлинности, доступных для HTTP + Swagger, см. в разделе Добавление проверки подлинности в исходящие вызовы.
Продолжайте создавать рабочий процесс с действиями, которые необходимо выполнить при срабатывании триггера.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Добавление действия триггера HTTP + Swagger
Это встроенное действие отправляет HTTP-запрос в URL-адрес файла Swagger, описывающего REST API. Затем действие возвращает ответ, содержащий содержимое этого файла.
В портал Azure откройте ресурс приложения логики "Стандартный" и рабочий процесс в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить действие HTTP с именем HTTP + Swagger.
В поле конечной точки 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
Когда в конструкторе появятся операции, описанные в файле Swagger, выберите операцию, которую хотите использовать.
В следующем примере действие переименовывается в Face — определение , чтобы действие было более описательным.
Укажите значения для параметров действия в зависимости от выбранной операции, которую вы хотите включить в вызов конечной точки.
Чтобы добавить другие доступные параметры, откройте список дополнительных параметров и выберите нужные параметры.
Дополнительные сведения о типах проверки подлинности, доступных для HTTP + Swagger, см. в разделе Добавление проверки подлинности в исходящие вызовы.
Продолжайте создавать рабочий процесс с другими действиями, которые вы хотите выполнить.
Закончив работу, сохраните свой рабочий процесс. На панели инструментов конструктора выберите Сохранить.
Размещение Swagger в службе хранилища Azure
Вы по-прежнему можете ссылаться на файл Swagger, который не размещен или не соответствует требованиям безопасности и перекрестного происхождения. Отправьте файл Swagger в контейнер BLOB-объектов в учетной записи хранения Azure и включите CORS в этой учетной записи хранения. Для создания, настройки и сохранения файлов Swagger в службе хранилища Azure необходимо выполнить следующие действия.
Теперь включите CORS для большого двоичного объекта. В меню вашей учетной записи хранения выберите CORS. На вкладке Служба BLOB-объектов укажите эти значения, а затем нажмите Сохранить.
Свойство Значение Допустимые источники *
Допустимые методы GET
, ,HEAD
PUT
Допустимые заголовки *
Предоставляемые заголовки *
Максимальный возраст (в секундах) 200
Хотя в этом примере используется портал Azure, вы можете воспользоваться другим инструментом, таким как Обозреватель службы хранилища Azure, или автоматически настроить этот параметр с помощью скрипта PowerShell из этого примера.
Создайте контейнер BLOB объектов. В панели Обзор контейнера выберите Изменить уровень доступа. В списке Общедоступный уровень доступа выберите BLOB-объект (анонимный доступ на чтение только для BLOB-объектов) и нажмите кнопку ОК.
Отправьте файл Swagger в контейнер BLOB-объектов с помощью портала Azure или Обозревателя службы хранилища Azure.
Чтобы ссылаться на файл в контейнере 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 | Внутренняя ошибка сервера. Произошла неизвестная ошибка. |