Ejercicio: Creación de una nueva API en API Management a partir de una aplicación de funciones

Completado

Para presentar Azure Functions a los usuarios como parte de una sola API, puede agregarlas a Azure API Management.

En su empresa de tienda en línea, sus desarrolladores crearon varias instancias de Azure Functions como microservicios. Cada función implementa una pequeña parte de la funcionalidad de la tienda. Quiere ensamblar estas funciones en una sola API.

En este ejercicio creará una instancia de API Management y luego le agregará una función de detalles del producto.

Creación de funciones

En los pasos siguientes agregará una aplicación Azure Function a Azure API Management. Más tarde, agregará una segunda aplicación de funciones a la misma instancia de API Management para crear una única API sin servidor a partir de varias funciones. Comencemos usando un script para crear las funciones:

  1. Para clonar el proyecto de funciones, ejecute el comando siguiente en Azure Cloud Shell a la derecha.

    git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
    
  2. Ejecute los comandos siguientes en Cloud Shell para configurar los recursos de Azure necesarios para este ejercicio.

    cd ~/OnlineStoreFuncs
    bash setup.sh
    

    El script setup.sh crea las dos aplicaciones de funciones en el grupo de recursos de espacio aislado que hemos activado para este módulo. Como se muestra en el siguiente gráfico, cada aplicación hospeda una sola función: OrderDetails y ProductDetails. El script también configura una cuenta de almacenamiento para las funciones. Las funciones tienen direcciones URL en el dominio azurewebsites.net. Los nombres de las funciones incluyen números aleatorios para la singularidad. El script tarda unos minutos en completarse.

    Diagrama que ilustra los resultados del script setup.sh y cómo se relacionan las funciones con el diseño de la aplicación general

Prueba de la función ProductDetails

Ahora, se probará la función ProductDetails, para ver cómo se comporta antes de agregarla a API Management.

  1. Inicie sesión en Azure Portal con la misma cuenta que ha usado para activar el espacio aislado.

  2. En el menú de Azure Portal o en la página Inicio, seleccione Todos los recursos. Aparece el panel Todos los recursos.

  3. Seleccione la aplicación de funciones cuyo nombre comienza por ProductFunction. Aparece el panel Aplicación de funciones con la pestaña Información general seleccionada.

    Captura de pantalla de las selecciones de menú para abrir la función ProductDetails.

  4. En la lista de funciones de la aplicación de funciones, seleccione ProductDetails. Aparece el panel de la función ProductDetails.

  5. En el menú de ProductDetails, en Desarrollador, seleccione Código y prueba. Aparece el panel Código y prueba de la función ProductDetails, en el que se muestra el contenido del archivo function.json.

    Captura de pantalla del panel Código y prueba de ProductDetails, con Probar/ejecutar seleccionado en la barra de comandos.

  6. En la barra de comandos, seleccione Probar/ejecutar. Aparece el panel Entrada/salida para probar la solicitud HTTP.

  7. En la pestaña Entrada, en la lista desplegable del campo Método HTTP, seleccione GET.

  8. En Consulta, seleccione Agregar parámetro.

  9. En el campo Nombre, escriba id, en el campo Valor escriba 3 y, después, seleccione Ejecutar.

    Captura de pantalla del panel de entrada de Probar/ejecutar, con el parámetro de entrada para el método HTTP GET resaltado.

  10. Aparece un panel de registro para conectar la solicitud. En la pestaña Salida se muestra el código de respuesta HTTP (200 OK) y el contenido del elemento 3 de la base de datos.

    Captura de pantalla de la salida de un panel Probar/ejecutar con los resultados de respuesta de la ejecución del método GET.

    Opcionalmente, también puede probar la función si escribe los valores de identificador 1 y 2.

  11. Seleccione Cerrar para cerrar las pestañas Entrada y Salida de Código y prueba.

  12. En la barra de comandos del panel Código y prueba de ProductDetails, seleccione Obtener la dirección URL de la función. Observe que el subdominio de dirección URL es el nombre de la aplicación de funciones, seguido del dominio azurewebsites.net.

Nota:

Puede usar esta dirección URL para probar la función en el explorador. La dirección URL necesita una entrada; anexe la cadena de consulta &id=1 para solicitar detalles sobre el primer elemento de la colección de productos.

Exposición de la aplicación de funciones como una API mediante Azure API Management

Después de implementar y probar la aplicación de funciones, se exportará como una API mediante Azure API Management para que se pueda llamar desde otras aplicaciones y servicios.

  1. En el menú de recursos, seleccione Todos los recursos. Aparece el panel Todos los recursos.

  2. Ordene la lista de recursos por tipo. Observe que tiene dos aplicaciones: OrderFunction y ProductFunction.

  3. Seleccione la aplicación de funciones ProductFunction.

  4. En el menú Aplicación de funciones, desplácese hasta la categoría API y, después, seleccione API Management. Aparece el panel API Management de la aplicación de funciones ProductFunction.

    Captura de pantalla en la que se muestra la selección de menú para abrir App Service API Management.

  5. En el campo API Management, seleccione Crear nuevo. Aparece el panel Instalar puerta de enlace de API Management.

    Captura de pantalla en la que se muestra la configuración de un servicio API Management.

  6. Escriba los valores siguientes para cada opción.

    Configuración Valor
    Subscription Suscripción de Concierge
    Grupo de recursos [nombre del grupo de recursos del espacio aislado]
    Region Elija una ubicación que admita el plan de consumo: (EE. UU.) Oeste de EE. UU., Centro-norte de EE. UU., Oeste de Europa, Norte de Europa, Sudeste de Asia, Este de Australia
    Nombre del recurso OnlineStore
    Nombre de la organización OnlineStore
    Correo electrónico del administrador Escriba una dirección de correo electrónico.
    Plan de tarifa Consumo (99,95 % del SLA)
  7. Seleccione Siguiente: Supervisión y desactive la opción Application Insights.

  8. Seleccione Revisar + crear. Cuando finalice la validación, seleccione Crear para crear una instancia de API Management vinculada. Espere varios minutos a que se complete la exportación.

  9. Cuando se haya implementado la instancia de API Management, seleccione Vincular API.

    Captura de pantalla de API Management con el botón Vincular API resaltado.

    Aparece el panel Importar Azure Functions del servicio API Management con la función ProductDetails resaltada.

    Captura de pantalla en la que se muestra el panel Importar Azure Functions del servicio API Management.

  10. Elija Seleccionar para continuar. Aparece el cuadro de diálogo Crear a partir de la aplicación de funciones.

    Captura de pantalla en la que se muestra el cuadro de diálogo Crear a partir de Function App.

  11. Cambie el valor Sufijo de dirección URL de API a productos y, después, seleccione Crear. Azure crea la API para la función ProductDetails. Aparece la pestaña Diseño del panel API Management de la aplicación de funciones.

En este ejercicio se muestra que puede definir la API, desde el servicio de aplicación de funciones de Azure.

Prueba del punto de conexión de los productos OnlineStore

Ahora tiene una API ProductDetails en la instancia de API Management que creó. Vamos a probar esa API con las herramientas de API Management en Azure.

  1. En el panel API Management de la aplicación de funciones, seleccione la pestaña Probar. Las operaciones disponibles para la API se mostrarán en la columna izquierda.

  2. Seleccione GET ProductDetails. Aparecerá el panel de la consola de ProductDetails.

  3. En Parámetros de consulta, seleccione Agregar parámetro.

    Captura de pantalla en la que se muestra la consola de ProductDetails con valores de parámetro de consulta resaltados para la solicitud HTTP GET.

  4. En el campo NOMBRE, escriba id, en el campo VALOR escriba 1 y, después, seleccione Enviar para generar una solicitud GET.

    La sección Respuesta HTTP de la consola tiene dos pestañas, Mensaje y Seguimiento. La pestaña Mensaje se rellena con la respuesta HTTP. Los detalles del producto aparecen en formato JSON al final de la respuesta. Desplácese hacia arriba hasta la sección Solicitud HTTP y observe el formato de la solicitud. La solicitud se ha enviado a un destino dentro del dominio azure-api.net. Esta ubicación es diferente al dominio azurewebsites.net donde se hospeda la aplicación de funciones original. Puede probar esta API con otros parámetros de consulta, como id=2 o id=3.

    Captura de pantalla que muestra el mensaje **Solicitud HTTP** y **Respuesta HTTP**.