Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido, usas la CLI de Azure para crear un tema personalizado en Azure Event Grid, suscribirte al tema personalizado y activar un evento de ejemplo para ver el resultado.
Por lo general, se envían eventos a un punto de conexión que procesa los datos del evento y realiza acciones. Sin embargo, para simplificar este inicio rápido, envías eventos de muestra a una aplicación web que recopila y muestra los mensajes. Cuando terminas, ves los datos del evento en la aplicación web, como se muestra en la siguiente imagen:
Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Introducción a Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para obtener más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- Este inicio rápido requiere la versión 2.0.70 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, la versión más reciente ya está instalada.
- Si eres nuevo en Azure Event Grid, consulta What's Azure Event Grid para una visión general del servicio antes de empezar este inicio rápido.
Crear un grupo de recursos
Los temas de Event Grid son recursos de Azure que debes colocar en un grupo de recursos de Azure. El grupo de recursos es una colección lógica en la que despliegas y gestionas recursos de Azure.
Para crear un grupo de recursos, use el comando az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado gridResourceGroup en la ubicación westus2. Cambia el nombre del grupo de recursos y la ubicación si quieres.
az group create --name gridResourceGroup --location westus2
Habilitar el proveedor de recursos de Event Grid
Si es la primera vez que usa Event Grid en su suscripción de Azure, es posible que tenga que registrar el proveedor de recursos de Event Grid. Ejecute el siguiente comando para registrar el proveedor:
az provider register --namespace Microsoft.EventGridEl registro puede tardar unos instantes en finalizar. Para comprobar el estado, ejecute el comando siguiente:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Cuando
registrationStateseaRegistered, podrás continuar.
Creación de un tema personalizado
Un tema de Event Grid proporciona un punto de conexión definido por el usuario en el que se registran los eventos. El siguiente ejemplo crea el tema personalizado en tu grupo de recursos usando Bash en Azure Cloud Shell. Reemplace <your-topic-name> por un nombre único para el tema. El nombre del tema personalizado debe ser único porque forma parte de la entrada Sistema de nombres de dominio (DNS). Además, debe tener entre 3 y 50 caracteres y contener solo los valores a-z, A-Z, 0-9 y "-"
Copia el siguiente comando, especifica un nombre para el tema y selecciona Enter para ejecutar el comando.
topicname=<your-topic-name>Utilice el comando
az eventgrid topic createpara crear un tema personalizado.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Cree un punto de conexión para mensajes
Antes de suscribirse al tema personalizado, cree el punto de conexión para el mensaje de evento. Normalmente, el punto de conexión realiza acciones en función de los datos del evento. Para simplificar este inicio rápido, despliega una aplicación web preconstruida que muestre los mensajes del evento. La solución implementada incluye un plan de App Service, una aplicación web de App Service y el código fuente desde GitHub.
Copia el siguiente comando, especifica un nombre para la aplicación web (ejemplo del Visor de la Cuadrícula de Eventos) y selecciona Enter para ejecutar el comando. Reemplace
<your-site-name>por un nombre único para la aplicación web. El nombre de la aplicación web debe ser único, ya que es parte de la entrada DNS.sitename=<your-site-name>Ejecuta
az deployment group createpara implementar la aplicación web mediante una plantilla de Azure Resource Manager.az deployment group create \ --resource-group gridResourceGroup \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \ --parameters siteName=$sitename hostingPlanName=viewerhost
La implementación puede tardar unos minutos en finalizar. Después de que la implementación se haya realizado correctamente, puede ver la aplicación web para asegurarse de que se está ejecutando. En un explorador web, vaya a: https://<your-site-name>.azurewebsites.net
Deberías ver el sitio web sin que se muestre ningún mensaje.
Suscripción a un tema personalizado
Suscríbase a un tema de Event Grid para indicarle los eventos de los que quiere realizar un seguimiento y el lugar al que deben enviarse dichos eventos. En el ejemplo siguiente se suscribe al tema personalizado que creó y se pasa la dirección URL desde su aplicación web como punto de conexión para la notificación de eventos.
El punto de conexión de la aplicación web debe incluir el sufijo /api/updates/.
Copia el siguiente comando, sustituye
$sitenamepor el nombre de la aplicación web que creaste en el paso anterior y selecciona Enter para ejecutar el comando.endpoint=https://$sitename.azurewebsites.net/api/updatesEjecute el siguiente comando para obtener el id. de recurso del tema que creó.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Ejecute el siguiente comando para crear una suscripción al tema personalizado mediante el punto de conexión.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointVuelva a ver su aplicación web y compruebe que se le ha enviado un evento de validación de la 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.
Enviar un evento a tu tema personalizado
Vamos a desencadenar un evento para ver cómo Event Grid distribuye el mensaje al punto de conexión. Primero, consigue la URL y la clave del tema personalizado.
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Para simplificar este inicio rápido, utiliza datos de eventos de ejemplo para enviar al tema personalizado. Normalmente, una aplicación o un servicio de Azure envían los datos del evento. En el ejemplo siguiente se crean datos de evento de ejemplo:
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
El elemento data del archivo JSON es la carga del evento. En este campo, puede usar cualquier archivo JSON bien formado. También puede usar el campo de asunto para realizar enrutamiento y filtrado avanzados.
cURL es una utilidad que envía solicitudes HTTP. En este inicio rápido, usa cURL para enviar el evento al tema.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Ha desencadenado el evento y Event Grid ha enviado el mensaje al punto de conexión que configuró al realizar la suscripción. Consulte su aplicación web para ver el evento que acaba de enviar.
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventGrid/topics/{topic}"
}]
Limpieza de recursos
Si planeas seguir trabajando con este evento o con la aplicación Visor de eventos, no elimines los recursos que creaste en esta guía de inicio rápido. De lo contrario, usa el siguiente comando para eliminar los recursos que creaste en este inicio rápido.
az group delete --name gridResourceGroup --yes --no-wait
Contenido relacionado
Ahora que sabe cómo crear suscripciones a temas y eventos, aprenda más sobre cómo Event Grid puede ayudarle:
- Una introducción a Azure Event Grid
- Enrutamiento de eventos de Blob Storage a un punto de conexión web personalizado
- Transmisión de macrodatos a un almacén de datos
Para aprender sobre cómo publicar eventos y consumir eventos de Event Grid en diferentes lenguajes de programación, consulta los siguientes ejemplos: