Importación de una aplicación contenedora de Azure como API

SE APLICA A: todos los niveles de API Management

En este artículo se muestra cómo importar una aplicación contenedora de Azure a Azure API Management y probar la API importada mediante Azure Portal. En este artículo aprenderá a:

  • Importar una aplicación contenedora que expone una API web
  • Prueba de la API en Azure Portal

Exposición de la aplicación contenedora con API Management

Azure Container Apps le permite implementar aplicaciones contenedorizadas sin administrar infraestructuras complejas. Los desarrolladores de API pueden escribir código con su marco o lenguaje de programación preferido, crear microservicios con compatibilidad completa con Distributed Application Runtime (Dapr) y escalar en función del tráfico HTTP u otros eventos.

API Management es el entorno recomendado para exponer una API web hospedada en una aplicación contenedora, por varios motivos:

  • Separa la administración y protección del front-end expuesto a los consumidores de la API de la administración y supervisión de la API web de back-end.
  • Administra las API web hospedadas como aplicaciones contenedoras en el mismo entorno que las otras API.
  • Aplica directivas para cambiar el comportamiento de la API, como la limitación de la frecuencia de las llamadas.
  • Dirige a los consumidores de las API al portal para desarrolladores personalizable de API Management para detectar y obtener información sobre las API, solicitar acceso y probarlas.

Para obtener más información, consulte Acerca de API Management.

Especificación de OpenAPI frente a operaciones con caracteres comodín

API Management admite la importación de aplicaciones contenedoras que proporcionan una especificación de OpenAPI (definición de Swagger). Sin embargo, no se requiere una especificación de OpenAPI. Se recomienda proporcionar una especificación de OpenAPI. API Management puede importar operaciones individuales, lo que le permite validar, administrar, proteger y actualizar configuraciones para cada operación por separado.

Si la aplicación contenedora expone una especificación de OpenAPI, API Management operaciones de API que se asignan directamente a la definición. API Management buscará una especificación de OpenAPI en varias ubicaciones.

  • La configuración de la aplicación contenedora.
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

Si no se proporciona una especificación de OpenAPI, API Management operaciones con caracteres comodín para los verbos HTTP comunes (GET, PUT, etc.). Todavía puede aprovechar las mismas características de API Management, pero las operaciones no se definen con el mismo nivel de detalle.

En cualquier caso, puede editar o agregar operaciones a la API después de la importación.

Ejemplo

La aplicación contenedora de back-end puede admitir dos operaciones GET:

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

Importa la aplicación contenedora al servicio API Management en una ruta de acceso como https://contosoapi.azure-api.net/store. En la tabla siguiente se muestran las operaciones que se importan a API Management, ya sea con una especificación de OpenAPI o sin ella:

Tipo Operaciones importadas Solicitudes de ejemplo
Especificación de OpenAPI GET /customer/{id}

GET /customers
GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers
Wildcard (Carácter comodín) GET /* GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers

La operación con caracteres comodín permite las mismas solicitudes al servicio de back-end que las operaciones de la especificación de OpenAPI. Sin embargo, las operaciones especificadas por OpenAPI se pueden administrar de manera independiente en API Management.

Requisitos previos

Vaya a la instancia de API Management.

  1. En Azure Portal, busque y seleccione Servicios de API Management.

    Seleccionar servicios de API Management

  2. En la página de servicios API Management, seleccione la instancia de API Management.

    Seleccionar su instancia de API Management

Importación y publicación de una API de back-end

  1. Vaya al servicio API Management en Azure Portal y seleccione API en el menú.

  2. Seleccione Container App (Aplicación contenedora) en la lista.

    Creación desde la aplicación contenedora

  3. Seleccione Examinar para ver la lista de aplicaciones contenedoras en su suscripción.

  4. Seleccione una aplicación contenedora. Si hay una definición de OpenAPI asociada a la aplicación contenedora seleccionada, API Management la captura e importa. Si no se encuentra una definición de OpenAPI, API Management expone la API generando operaciones con caracteres comodín para verbos HTTP comunes.

  5. Agregue un sufijo URL de API. El sufijo es un nombre que identifica esta API específica en esta instancia de API Management. Tiene que ser único en esta instancia de API Management.

  6. Publique la API asociándola a un producto. En este caso, se usa el producto "Unlimited". Si quiere que la API se publique y esté disponible para los desarrolladores, agréguela a un producto.

    Nota

    Los productos son asociaciones de una o varias API. Puede incluir muchas API y ofrecerlas a los desarrolladores mediante el portal para desarrolladores. En primer lugar, los desarrolladores deben suscribirse a un producto para acceder a la API. Al suscribirse, obtienen una clave de suscripción que funciona con cualquier API de ese producto. Si creó la instancia de API Management quiere decir que es administrador, por lo que está suscrito a cada producto de manera predeterminada.

    Cada instancia de API Management incluye dos productos de ejemplo al crearse:

    • Starter
    • Sin límite
  7. Escriba otros valores de la API. Puede establecer los valores durante la creación o luego accediendo a la pestaña Ajustes. Los valores de configuración se explican en el tutorial Importación y publicación de la primera API.

  8. Seleccione Crear.

    Creación de la API desde la aplicación contenedora

Prueba de la nueva API en Azure Portal

Se puede llamar a las operaciones directamente desde Azure Portal, lo que proporciona una forma cómoda de ver y probar las operaciones de una API. También puede probar la API en el portal para desarrolladores o con sus propias herramientas de cliente REST.

  1. Seleccione la API que creó en los pasos anteriores.

  2. Seleccione la pestaña Prueba.

  3. Seleccione una operación.

    La página muestra los campos de parámetros de consulta y los campos para los encabezados. Uno de los encabezados es Ocp-Apim-Subscription-Key para la clave de suscripción del producto que se asocia a esta API. Si ha creado la instancia de API Management, significa que ya es administrador, por lo que la clave se rellena automáticamente.

  4. Presione Enviar.

    Si la prueba se completa correctamente, el back-end responde con 200 - Correcto y algunos datos.

Prueba de la operación con caracteres comodín en el portal

Cuando se generan operaciones con caracteres comodín, es posible que las operaciones no se asignen directamente a la API de back-end. Por ejemplo, una operación GET con caracteres comodín importada a API Management usa la ruta de acceso / de manera predeterminada. Sin embargo, la API de back-end podría admitir una operación GET en la ruta de acceso siguiente:

/api/TodoItems

Puede probar la ruta de acceso /api/TodoItems como se muestra a continuación.

  1. Seleccione la API que ha creado y seleccione la operación.

  2. Seleccione la pestaña Prueba.

  3. En Parámetros de la plantilla, actualice el valor junto al nombre del carácter comodín (*). Por ejemplo, escriba api/TodoItems. Este valor se anexa a la ruta de acceso / de la operación con caracteres comodín.

    Prueba de la operación con caracteres comodín

  4. Seleccione Enviar.

Anexión de otras API

Puede crear una API a partir de las API expuestas por distintos servicios, como los siguientes:

  • Una especificación de OpenAPI
  • Una API SOAP
  • GraphQL API
  • Una aplicación web hospedada en Azure App Service
  • Aplicación de función de Azure
  • Azure Logic Apps
  • Azure Service Fabric

Para anexar una API distinta a la API existente, siga estos pasos.

Nota

Al importar otra API, las operaciones se anexan a la API actual.

  1. Vaya a la instancia de Azure API Management en Azure Portal.

    Vaya a la instancia de Azure API Management.

  2. Seleccione API en la página Información general o en el menú de la izquierda.

    Selección de las API

  3. Haga clic en ... junto a la API a la que desea anexar otra API.

  4. Seleccione Importar en el menú desplegable.

    Selección de Importar

  5. Seleccione un servicio desde el que se va a importar una API.

    Seleccionar servicio

Pasos siguientes