Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Azure Logic Apps (consumo + estándar)
Para llamar a una API REST desde el flujo de trabajo en Azure Logic Apps sin crear manualmente una solicitud, agregue el desencadenador o la acción HTTP + Swagger nativos y integrados al flujo de trabajo. Estas operaciones llaman a cualquier punto de conexión de LA API REST mediante un archivo swagger para detectar operaciones invocables y obtener entradas y salidas estructuradas.
El desencadenador y la acción HTTP + Swagger funcionan igual que el desencadenador y la acción HTTP, pero proporcionan una mejor experiencia en el diseñador de flujos de trabajo mediante la exposición de la estructura de API y las salidas descritas por el archivo swagger.
En este artículo se muestra cómo agregar y usar el desencadenador y la acción HTTP + Swagger en el flujo de trabajo.
Limitaciones
Las operaciones integradas http + Swagger solo admiten OpenAPI 2.0, no OpenAPI 3.0.
Requisitos previos
Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.
La URL del archivo Swagger que describe el punto de conexión de la API REST de destino que se va a llamar.
Normalmente, el punto de conexión rest debe cumplir los siguientes criterios para que el desencadenador o la acción funcionen:
El archivo Swagger se hospeda en una dirección URL HTTPS accesible públicamente.
El archivo Swagger contiene una
operationIDpropiedad para cada operación de la definición de API. Si no es así, el diseñador de flujo de trabajo muestra solo la última operación en el archivo swagger.El archivo Swagger debe activar el uso compartido de recursos de origen cruzado (CORS).
Nota:
Para hacer referencia a un archivo Swagger que no está hospedado o no cumple con los requisitos de seguridad y de control de acceso entre orígenes, cargue el archivo Swagger en un contenedor de blobs en una cuenta de almacenamiento de Azure y habilite CORS en esa cuenta de almacenamiento.
Flujo de trabajo de una aplicación lógica de tipo Consumo o Estándar en el que desea llamar al punto de conexión de la API REST.
Para iniciar el flujo de trabajo con el desencadenador HTTP + Swagger , cree un recurso de aplicación lógica que tenga un flujo de trabajo en blanco. Para usar la acción HTTP + Swagger , inicie el flujo de trabajo con cualquier desencadenador que funcione mejor para su escenario empresarial.
Agregar un desencadenador HTTP + Swagger
Este desencadenador envía una solicitud HTTP a la dirección URL de un archivo de Swagger que describe una API REST. El desencadenador devuelve una respuesta que contiene el contenido del archivo swagger al flujo de trabajo.
Para implementar un desencadenador de sondeo, siga el patrón de desencadenador de sondeo.
En el portal de Azure, abra su recurso de aplicación lógica.
En el diseñador, abre tu flujo de trabajo en blanco.
En función de si el flujo de trabajo es Consumo o Estándar, siga los pasos generales para agregar el desencadenador HTTP denominado HTTP + Swagger.
En el cuadro Punto de conexión de Swagger , escriba la dirección URL del archivo swagger y seleccione Agregar acción.
En el ejemplo siguiente se muestra un formato de dirección URL de Swagger de ejemplo. La dirección URL puede usar un formato diferente.
El panel de información del desencadenador muestra las operaciones en el archivo Swagger.
Seleccione la operación que desee.
Para la operación seleccionada, escriba los valores de parámetro que se van a usar en la llamada a la API REST.
Los parámetros varían en función de la operación seleccionada.
Si el desencadenador se ejecuta según una programación, configure la periodicidad para especificar cuándo el desencadenador llama a la API REST.
Si existen otros parámetros, abra la lista Parámetros avanzados y seleccione los parámetros que desee.
Para obtener más información sobre la autenticación, consulte Adición de autenticación a llamadas salientes.
Siga compilando el flujo de trabajo con acciones que se ejecutarán cuando se active el desencadenador.
Cuando termine, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Agregar una acción HTTP + Swagger
Esta acción envía una solicitud HTTP a la dirección URL de un archivo de Swagger que describe una API REST. La acción devuelve una respuesta que contiene el contenido del archivo swagger al flujo de trabajo.
En el portal de Azure, abra su recurso de aplicación lógica.
En el diseñador, abra su flujo de trabajo en blanco.
En función de si el flujo de trabajo es Consumo o Estándar, siga los pasos generales para agregar la acción HTTP denominada HTTP + Swagger.
En el cuadro Punto de conexión de Swagger , escriba la dirección URL del archivo swagger y seleccione Agregar acción.
En el ejemplo siguiente se muestra un formato de dirección URL de Swagger de ejemplo. La dirección URL puede usar un formato diferente.
El panel de información de acciones muestra las operaciones en el archivo Swagger.
Seleccione la operación que desee.
Para la operación seleccionada, escriba los valores de parámetro que se utilizarán en la llamada a la API REST.
Los parámetros varían en función de la operación seleccionada.
Si existen otros parámetros, abra la lista Parámetros avanzados y seleccione los parámetros que desee.
Para obtener más información sobre la autenticación, consulte Adición de autenticación a llamadas salientes.
Siga compilando el flujo de trabajo con acciones que se ejecutarán cuando se active el desencadenador.
Cuando termine, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).
Resultados de operaciones HTTP + Swagger
En esta sección se proporciona más información sobre las salidas del desencadenador y la acción HTTP + Swagger . La operación HTTP + Swagger devuelve la siguiente información:
| Nombre de propiedad | Tipo | Descripción |
|---|---|---|
| headers | Objeto | Los encabezados de la solicitud. |
| cuerpo | Objeto | Objeto con el contenido del cuerpo de la solicitud. |
| código de estado | Entero | Código de estado de la solicitud. |
| código de estado | Descripción |
|---|---|
| 200 | Aceptar |
| 202 | Aceptado |
| 400 | Solicitud incorrecta |
| 401 | No autorizado |
| 403 | Prohibida |
| 404 | No encontrado |
| 500 | Error interno del servidor. Error desconocido. |
Hospedaje de Swagger en Azure Storage
Todavía puede hacer referencia a un archivo de Swagger que no está hospedado o que no cumple los requisitos de seguridad y entre orígenes. Cargue el archivo swagger en un contenedor de blobs en una cuenta de almacenamiento de Azure y active CORS en la cuenta de almacenamiento.
Para crear, configurar y almacenar archivos de Swagger en Azure Storage, siga estos pasos:
En Azure Portal, cree una cuenta de Azure Storage.
Active CORS en el blob mediante estos pasos:
En la barra lateral de la cuenta de almacenamiento, en Configuración, seleccione CORS.
En la pestaña Blob service , escriba los valores siguientes y seleccione Guardar.
Parámetro Valor Orígenes permitidos *Métodos permitidos GET, ,HEAD,PUTEncabezados permitidos *Encabezados visibles *Antigüedad máxima en segundos 200
En este ejemplo se usa Azure Portal, pero puede usar una herramienta como el Explorador de Azure Storage para configurar esta configuración. Para automatizar la configuración, consulte el script de PowerShell de ejemplo.
Cree un contenedor de blobs y siga estos pasos:
En la barra lateral del contenedor, seleccione Información general.
En la página Información general , seleccione Cambiar el nivel de acceso.
En la lista Nivel de acceso público , seleccione Blob (acceso de lectura anónimo solo para blobs) y, a continuación, seleccione Aceptar.
En el Portal de Azure o el Explorador de almacenamiento de Azure, cargue el archivo Swagger en el contenedor de blobs.
Para apuntar al archivo del contenedor de blobs, en el Explorador de Azure Storage, obtenga la dirección URL HTTPS que usa el siguiente formato que distingue entre mayúsculas y minúsculas:
https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>