Compartir vía


Llamada a puntos de conexión de API de REST desde flujos de trabajo en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

Para llamar a un punto de conexión de API de REST desde un flujo de trabajo de aplicación lógica en Azure Logic Apps, puede usar las operaciones integradas de HTTP + Swagger para llamar a cualquier punto de conexión de la API de REST a través de un Archivo Swagger. El desencadenador y la acción HTTP + Swagger funcionan del mismo modo que el desencadenador y la acción HTTP, pero ofrecen una mejor experiencia en el diseñador de flujos de trabajo al exponer la estructura de la API y los resultados que se describen en el archivo de Swagger. Para implementar un desencadenador de sondeo, siga el modelo de sondeo que se describe en Creación de API personalizadas para llamar a otras API, servicios y sistemas desde flujos de trabajo de aplicaciones lógicas.

Limitaciones

La HTTP + Swagger operaciones integradas actualmente solo admiten OpenAPI 2.0, no OpenAPI 3.0.

Requisitos previos

  • Una cuenta y una suscripción de Azure. Si no tiene una suscripción de Azure, regístrese para obtener una cuenta gratuita de Azure.

  • Dirección URL del archivo Swagger que describe el punto de conexión de la API de REST de destino al que desea llamar

    Normalmente, el punto de conexión de REST tiene que cumplir los siguientes criterios para que el desencadenador o la acción funcionen:

    • El archivo de Swagger debe hospedarse en una URL HTTPS a la que se pueda acceder públicamente.

    • El archivo de Swagger debe contener una propiedad operationID para cada operación de la definición. De lo contrario, el conector solo mostrará la última operación en el archivo de Swagger.

    • El archivo de Swagger debe tener la opción Uso compartido de recursos entre orígenes (CORS) habilitada.

    Nota:

    Para hacer referencia a un archivo de Swagger que no está hospedado o que no cumple los requisitos de seguridad y entre orígenes, puede cargar el archivo de Swagger en un contenedor de blobs de una cuenta de almacenamiento de Azure y habilitar CORS en esa cuenta de almacenamiento para poder hacer referencia al archivo.

  • Flujo de trabajo consumo o aplicación lógica estándar desde donde desea llamar al punto de conexión de destino. Para empezar con el desencadenador de HTTP + Swagger, cree un recurso de aplicación lógica con un flujo de trabajo en blanco. Para usar la acción HTTP + Swagger, inicie el flujo de trabajo con el desencadenador que quiera. En este ejemplo se usa el desencadenador de HTTP + Swagger como primera operación.

Agregar un desencadenador HTTP + Swagger

Este desencadenador integrado envía una solicitud HTTP a una dirección URL para un archivo de Swagger que describe una API de REST. A continuación, el desencadenador devuelve una respuesta que incluye el contenido de ese archivo.

  1. En Azure Portal, abra su recurso de aplicación lógica y el flujo de trabajo en blanco en el diseñador.

  2. En función de si tiene un flujo de trabajo de consumo o estándar, siga estos pasos generales para agregar el desencadenador de HTTP denominado HTTP + Swagger.

  3. En el cuadro punto de conexión de Swagger, escriba la dirección URL del archivo de Swagger que desee y seleccione Agregar acción.

    En el ejemplo siguiente se usa una dirección URL de Swagger no funcional. La dirección URL puede usar un formato diferente.

    Captura de pantalla que muestra el diseñador de flujos de trabajo con el panel Agregar forma de desencadenador y panel de información seleccionados para el desencadenador HTTP + Swagger. La propiedad de punto de conexión de Swagger se establece en una dirección URL de ejemplo.

  4. Después de que el diseñador muestre las operaciones que describe el archivo de Swagger, seleccione la operación que quiera usar.

  5. Proporcione los valores de los parámetros de desencadenador, que varían en función de la operación que haya seleccionado, que quiere incluir en la llamada de punto de conexión.

  6. Si el desencadenador requiere que especifique una programación de activación, especifique la periodicidad para la frecuencia con la que desea que el desencadenador llame al punto de conexión.

  7. Para agregar otros parámetros disponibles, abra la lista Parámetros avanzados y seleccione los parámetros que desee.

    Para obtener más información sobre los tipos de autenticación disponibles para HTTP + Swagger, consulte Incorporación de la autenticación en las llamadas salientes.

  8. Siga compilando el flujo de trabajo con las acciones que desea ejecutar cuando se active el desencadenador.

  9. Cuando haya terminado, 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 integrada envía una solicitud HTTP a la dirección URL para el archivo de Swagger que describe una API de REST. A continuación, la acción devuelve una respuesta que incluye el contenido de ese archivo.

  1. En Azure Portal, abra el recurso de la aplicación lógica y el flujo de trabajo en el diseñador.

  2. En función de si tiene un flujo de trabajo de consumo o estándar, siga estos pasos generales para agregar la acción de HTTP denominada HTTP + Swagger.

  3. En el cuadro punto de conexión de Swagger, escriba la dirección URL del archivo de Swagger que desee y seleccione Agregar acción.

    En el ejemplo siguiente se usa una dirección URL de Swagger no funcional. La dirección URL puede usar un formato diferente.

    Captura de pantalla que muestra el diseñador de flujos de trabajo con el desencadenador denominado API de Fabrikam: crear un pedido y abrir el panel de información para la acción HTTP + Swagger. La propiedad de punto de conexión de Swagger se establece en una dirección URL.

  4. Después de que el diseñador muestre las operaciones que describe el archivo de Swagger, seleccione la operación que quiera usar.

  5. Proporcione los valores de los parámetros de acción, que varían en función de la operación que haya seleccionado, que quiere incluir en la llamada de punto de conexión.

  6. Para agregar otros parámetros disponibles, abra la lista Parámetros avanzados y seleccione los parámetros que desee.

    Para obtener más información sobre los tipos de autenticación disponibles para HTTP + Swagger, consulte Incorporación de la autenticación en las llamadas salientes.

  7. Siga compilando el flujo de trabajo con cualquier otra acción que quiera ejecutar.

  8. Cuando haya terminado, guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

Hospedar 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 de Swagger en el contenedor de blobs en una cuenta de almacenamiento de Azure y habilite CORS en esa cuenta de almacenamiento. Para crear, configurar y almacenar archivos de Swagger en Azure Storage, siga estos pasos:

  1. Creación de una cuenta de almacenamiento de Azure.

  2. Habilite CORS para el blob. En el menú de la cuenta de almacenamiento, seleccione CORS. En la pestaña Blob service, especifique estos valores y seleccione Guardar.

    Propiedad Valor
    Orígenes permitidos *
    Métodos permitidos GET, HEAD, PUT
    Encabezados permitidos *
    Encabezados expuestos *
    Antigüedad máxima (en segundos) 200

    Aunque en este ejemplo se usa Azure Portal, puede usar una herramienta como Explorador de Azure Storage, o bien configurar automáticamente este valor mediante este script de PowerShell de ejemplo.

  3. Cree un contenedor de blobs. En el panel Introducción del contenedor, seleccione Cambiar nivel de acceso. En la lista Nivel de acceso público, seleccione Blob (acceso de lectura anónimo solo para blobs) y seleccione Aceptar.

  4. Cargue el archivo de Swagger en el contenedor de blobs, ya sea mediante Azure Portal o el Explorador de Azure Storage.

  5. Para hacer referencia al archivo del contenedor de blobs, obtenga la dirección URL HTTPS que sigue este formato, que distingue entre mayúsculas y minúsculas, en Explorador de Microsoft Azure Storage:

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

Referencia técnica del conector

En esta sección se proporciona más información sobre las salidas de una desencadenador y acción HTTP + Swagger.

Salidas

La llamada HTTP + Swagger devuelve la siguiente información:

Nombre de propiedad Type Descripción
headers Object Encabezados de la solicitud
cuerpo Object Objeto con el contenido del cuerpo de la solicitud
código de estado Entero Código de estado de la solicitud
status code Descripción
200 Aceptar
202 Aceptadas
400 Solicitud incorrecta
401 No autorizado
403 Prohibida
404 No encontrado
500 Error interno del servidor. Error desconocido.