Uso de Azure Event Grid para enrutar eventos de Blob Storage a un punto de conexión web (Azure Portal)
Event Grid es un servicio totalmente administrado que le permite administrar fácilmente eventos en muchos servicios y aplicaciones de Azure diferentes. Simplifica la creación de aplicaciones controladas por eventos y sin servidor. Para obtener información general sobre el servicio, consulte ¿Qué es Azure Event Grid?
En este artículo, se usa Azure Portal para realizar las siguientes tareas:
- Crear una cuenta de Blob Storage.
- Suscribirse a los eventos de ese almacenamiento de blobs.
- Desencadenar un evento mediante la carga de un archivo en Blob Storage.
- Ver el resultado en una aplicación web de controlador. Por lo general, se envían eventos a un punto de conexión que procesa los datos del evento y realiza acciones. Para simplificar, los eventos se envían a una aplicación web que recopila y muestra los mensajes.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Cuando haya terminado, verá que los datos del evento se han enviado a la aplicación web.
Crear una cuenta de almacenamiento
Inicie sesión en el portal de Azure.
Para crear una instancia de Blob Storage, seleccione Crear un recurso.
En Buscar, escriba Cuenta de almacenamiento y seleccione Cuenta de almacenamiento en la lista de resultados.
En la página Cuenta de almacenamiento, seleccione Crear para empezar a crear la cuenta de almacenamiento. Para suscribirse a eventos, cree una cuenta de almacenamiento de uso general v2 o una cuenta de Blob Storage.
En la página Crear cuenta de almacenamiento, siga estos pasos:
Seleccione su suscripción a Azure.
En Grupo de recursos, cree un nuevo grupo de recursos o seleccione uno existente.
Escriba el nombre de la cuenta de almacenamiento.
Seleccione la Región en la que quiere que se cree la cuenta de almacenamiento.
En Redundancia, seleccione Almacenamiento con redundancia local (LRS) en la lista desplegable.
Seleccione Revisaral final de la página.
En la página Revisar, revise la configuración y seleccione Crear.
Nota
Solo las cuentas de almacenamiento de tipo StorageV2 (uso general v2) y BlobStorage admiten la integración de eventos. Storage (uso general v1)no admite la integración con Event Grid.
La implementación tarda unos minutos en completarse. En la página Implementación, seleccione Ir al recurso.
En la página Cuenta de almacenamiento, seleccione Eventos en el menú de la izquierda.
Mantenga abierta esta página en el explorador web.
Creación de un punto de conexión de mensaje
Antes de suscribirse a los eventos de Blob Storage, vamos a crear el punto de conexión para el mensaje del evento. Normalmente, el punto de conexión realiza acciones en función de los datos del evento. Para simplificar este inicio rápido, se implementa una aplicación web precompilada que muestra los mensajes de los eventos. La solución implementada incluye un plan de App Service, una aplicación web de App Service y el código fuente desde GitHub.
Seleccione Deploy to Azure (Implementar en Azure) para implementar la solución en su suscripción.
En la página Implementación personalizada, siga estos pasos:
En Grupo de recursos, seleccione el grupo de recursos que usó para crear la cuenta de almacenamiento. Le resultará más fácil limpiar una vez que haya terminado con el tutorial si elimina el grupo de recursos.
En Nombre del sitio, escriba el nombre de la aplicación web.
En Nombre del plan de hospedaje, escriba el nombre del plan de App Service que se va a usar para hospedar la aplicación web.
Seleccione Revisar + crear.
En la página Revisar y crear, seleccione Crear.
La implementación tarda unos minutos en completarse. En la página Implementación, seleccione Ir al grupo de recursos.
En la página Grupo de recursos, en la lista de recursos, seleccione la aplicación web que ha creado. En esta lista también se ven el plan de App Service y la cuenta de almacenamiento.
En la página App Service de la aplicación web, seleccione la dirección URL para ir al sitio web. La dirección URL debe tener este formato:
https://<your-site-name>.azurewebsites.net
.Confirme que ve el sitio, pero que aún no se han publicado eventos en él.
Importante
Mantenga abierta la ventana del visor de Azure Event Grid para poder ver los eventos a medida que se publican.
Registro del proveedor de recursos de Event Grid
A menos que haya usado Event Grid antes, deberá registrar el proveedor de recursos de Event Grid. Si ha usado Event Grid anteriormente, vaya a la siguiente sección.
En Azure Portal, realice los siguientes pasos:
En el menú de la izquierda, seleccione Suscripciones.
Seleccione la suscripción que desea usar para Event Grid en la lista de suscripciones.
En la página Suscripción, seleccione Proveedores de recursos en Configuración del menú izquierdo.
Busque Microsoft.EventGrid y confirme que el estado es No registrado.
Seleccione Microsoft.EventGrid en la lista de proveedores.
Seleccione Registrar en la barra de comandos.
Actualice para asegurarse de que el estado de Microsoft.EventGrid se cambia a Registrado.
Suscripción a Blob Storage
Suscríbase a un tema que indique a Event Grid los eventos cuyo seguimiento desea realizar y el lugar al que deben enviarse los eventos.
Si ha cerrado la página Cuenta de almacenamiento, vaya a la cuenta de Azure Storage que ha creado anteriormente. En el menú de la izquierda, seleccione Todos los recursos y seleccione su cuenta de almacenamiento.
En la página Cuenta de almacenamiento, seleccione Eventos en el menú de la izquierda.
Seleccione Más opciones y Webhook. Al enviar eventos a la aplicación de visor, usará un webhook para el punto de conexión.
En la página Crear suscripción de eventos, realice los siguientes pasos:
Escriba un nombre para la suscripción a eventos.
Escriba un nombre para el tema del sistema. Para obtener información acerca de los temas del sistema, consulte Introducción a los temas del sistema.
En Webhook, seleccione Tipo de punto de conexión.
En Punto de conexión, elija Seleccione un punto de conexióny escriba la dirección URL de la aplicación web y agregue
api/updates
a la dirección URL de la página principal (por ejemplo,https://spegridsite.azurewebsites.net/api/updates
) y seleccione Confirmar selección.Ahora, en la página Crear suscripción de eventos, seleccione Crear.
Vuelva a la aplicación web y observe que se ha enviado un evento de validación de suscripción. Seleccione el icono del ojo para expandir los datos del evento. Event Grid envía el evento de validación para que el punto de conexión pueda verificar que desea recibir datos de eventos. La aplicación web incluye código para validar la suscripción.
Ahora, vamos a desencadenar un evento para ver cómo Event Grid distribuye el mensaje al punto de conexión.
Envío de un evento al punto de conexión
Desencadenará un evento para Blob Storage mediante la carga de un archivo. El archivo no necesita ningún contenido específico.
En Azure Portal, vaya a la cuenta de Blob Storage y seleccione Contenedores en el menú de la izquierda.
Seleccione + Contenedor. Asigne un nombre al contenedor, use cualquier nivel de acceso y seleccione Crear.
Seleccione el nuevo contenedor.
Para cargar un archivo, seleccione Cargar. En la página Cargar blob, busque y seleccione el archivo que desea cargar para las pruebas y, después, seleccione Cargar en la página.
Busque el archivo de prueba y cárguelo.
Ha desencadenado el evento y Event Grid ha enviado el mensaje al punto de conexión que configuró al realizar la suscripción. El mensaje está en formato JSON y contiene una matriz con uno o más eventos. En el ejemplo siguiente, el mensaje JSON contiene una matriz con un evento. Vea la aplicación web y observe que se ha recibido un evento de blob creado.
Limpieza de recursos
Si piensa seguir trabajando con este evento, no limpie los recursos creados en este artículo. De lo contrario, elimine los recursos que ha creado en este artículo.
Seleccione el grupo de recursos y seleccione Eliminar grupo de recursos.
Pasos siguientes
Ahora que sabe cómo crear suscripciones a temas personalizados y eventos, aprenda más acerca de cómo puede ayudarle Event Grid: