Conectar o llamar a puntos de conexión de la API 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 LA API 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 API 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

Actualmente, las operaciones integradas http + Swagger 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 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.

    En los ejemplos de esta guía se usa Azure AI Face, que requiere una clave de recursos y una región de los servicios de Azure AI.

    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 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 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 el recurso de aplicación lógica estándar y un flujo de trabajo en blanco en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar el desencadenador 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.

    Asegúrese de usar o crear su propio punto de conexión. Por ejemplo, estos pasos solo usan la siguiente dirección URL de Swagger de Face API de Azure AI que se encuentra en la región Oeste de EE. UU. y es posible que no funcionen en el desencadenador específico:

    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. Cuando el diseñador muestra las operaciones que describe el archivo de Swagger, seleccione la operación que quiera usar.

    En el ejemplo siguiente se cambia el nombre del desencadenador a Face- Detect para que el desencadenador tenga un nombre más descriptivo.

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

  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. Configure la periodicidad con la que quiere que el desencadenador llame al 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 las acciones que desea ejecutar cuando se active el desencadenador.

  8. 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 su recurso de aplicación lógica estándar y el flujo de trabajo en el diseñador.

  2. En el diseñador, siga estos pasos generales para agregar la acción 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.

    Asegúrese de usar o crear su propio punto de conexión. Por ejemplo, estos pasos solo usan la siguiente dirección URL de Swagger de Face API de Azure AI que se encuentra en la región Oeste de EE. UU. y es posible que no funcionen en el desencadenador específico:

    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. Cuando el diseñador muestra las operaciones que describe el archivo de Swagger, seleccione la operación que quiera usar.

    En el ejemplo siguiente se cambia el nombre de la acción a Face : identificar para que la acción tenga un nombre más descriptivo.

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

  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 después 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 un desencadenador y una 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.

Pasos siguientes