Ejercicio: Creación de una nueva API en API Management a partir de una aplicación de funciones
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:
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
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
yProductDetails
. 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.
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.
Inicie sesión en Azure Portal con la misma cuenta que ha usado para activar el espacio aislado.
En el menú de Azure Portal o en la página Inicio, seleccione Todos los recursos. Aparece el panel Todos los recursos.
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.
En la lista de funciones de la aplicación de funciones, seleccione ProductDetails. Aparece el panel de la función ProductDetails.
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
.En la barra de comandos, seleccione Probar/ejecutar. Aparece el panel Entrada/salida para probar la solicitud HTTP.
En la pestaña Entrada, en la lista desplegable del campo Método HTTP, seleccione GET.
En Consulta, seleccione Agregar parámetro.
En el campo Nombre, escriba id, en el campo Valor escriba 3 y, después, seleccione Ejecutar.
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.
Opcionalmente, también puede probar la función si escribe los valores de identificador 1 y 2.
Seleccione Cerrar para cerrar las pestañas Entrada y Salida de Código y prueba.
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.
En el menú de recursos, seleccione Todos los recursos. Aparece el panel Todos los recursos.
Ordene la lista de recursos por tipo. Observe que tiene dos aplicaciones: OrderFunction y ProductFunction.
Seleccione la aplicación de funciones ProductFunction.
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.
En el campo API Management, seleccione Crear nuevo. Aparece el panel Instalar puerta de enlace de API Management.
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) Seleccione Siguiente: Supervisión y desactive la opción Application Insights.
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.
Cuando se haya implementado la instancia de API Management, seleccione Vincular API.
Aparece el panel Importar Azure Functions del servicio API Management con la función ProductDetails resaltada.
Elija Seleccionar para continuar. Aparece el cuadro de diálogo Crear a partir de la aplicación de funciones.
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.
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.
Seleccione GET ProductDetails. Aparecerá el panel de la consola de ProductDetails.
En Parámetros de consulta, seleccione Agregar parámetro.
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.