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 el artículo se proporcionan instrucciones paso a paso para publicar eventos en Azure Event Grid en el formato JSON de CloudEvents y para distribuir esos eventos mediante el modelo de entrega push.
Para ser específico, use Azure Portal y Curl para publicar eventos en un tema de espacio de nombres en Event Grid e insertar esos eventos desde una suscripción de eventos a un destino del controlador de Event Hubs. Para obtener más información sobre el modelo de entrega push, consulte Descripción de la entrega push.
Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.
Crear un espacio de nombres de Event Grid
Un espacio de nombres de Event Grid proporciona un punto de conexión definido por el usuario al que envía sus eventos. En el ejemplo siguiente se crea en un grupo de recursos el espacio de nombres mediante Bash en Azure Cloud Shell. El nombre del espacio de nombres debe ser único porque forma parte de una entrada del sistema de nombres de dominio (DNS).
Vaya al portal de Azure.
En la barra de búsqueda del tema, escriba
Event Grid Namespaces
y seleccioneEvent Grid Namespaces
entre los resultados.En la página Espacios de nombres de Event Grid, seleccione + Crear en la barra d comandos.
En la página Crear espacio de nombres, siga estos pasos:
- Seleccione la suscripción de Azure en la que desea crear el espacio de nombres.
- Cree un nuevo grupo de recursos seleccionando Crear nuevo o seleccione un grupo de recursos existente.
- Escriba nombre para el espacio de nombres.
- Seleccione la ubicación donde desea crear el grupo de recursos.
- Después, seleccione Revisar y crear.
- En la página Revisar y crear, seleccione Crear.
En la página Implementación , seleccione Ir al recurso después de la implementación correcta.
Obtención de la clave de acceso
- En la página Espacio de nombres de Event Grid , seleccione Claves de acceso en el menú de la izquierda.
- Seleccione el botón Copiar situado junto a la clave de acceso.
- Guarde la clave de acceso en algún lugar. Lo usará más adelante en esta guía de inicio rápido.
Habilitación de la identidad administrada para el espacio de nombres de Event Grid
Habilite la identidad administrada asignada por el sistema en el espacio de nombres de Event Grid. Para enviar eventos a Event Hubs en el espacio de nombres de Event Hubs mediante identidad administrada, siga estos pasos:
- Habilite la identidad administrada asignada por el sistema o asignada por el usuario: espacios de nombres. Siga leyendo en la sección siguiente para encontrar cómo habilitar la identidad administrada mediante la CLI de Azure.
- Agregue la identidad al rol Remitente de datos de Azure Event Hubs en el espacio de nombres de Event Hubs y continúe leyendo en la sección siguiente para encontrar cómo agregar la asignación de roles.
- Configure la suscripción de eventos que usa un centro de eventos como punto de conexión para usar la identidad administrada asignada por el sistema o asignada por el usuario.
En esta sección, habilitará una identidad administrada asignada por el sistema en el espacio de nombres . Los demás pasos se realizan más adelante en este inicio rápido.
En la página Espacio de nombres de Event Grid , seleccione Identidad en el menú de la izquierda.
En la página Identidad , seleccione Activado para el estado.
Seleccione Guardar en la barra de comandos.
Creación de un tema en el espacio de nombres
Cree un tema que se use para contener todos los eventos publicados en el punto final del espacio de nombres.
- Seleccione Temas en el menú de la izquierda.
- En la página Temas , seleccione + Tema en la barra de comandos.
- En la página Crear tema , siga estos pasos:
Crear un espacio de nombres de Event Hubs
Cree un recurso de Event Hubs que se use como destino del controlador para la suscripción de entrega de inserción del tema de espacio de nombres. Realice estos pasos en una pestaña independiente del explorador de Internet o en una ventana independiente. Vaya a Azure Portal e inicie sesión con las mismas credenciales que usó antes y la misma suscripción de Azure.
- Escriba Event Hubs en la barra de búsqueda y seleccione Event Hubs.
- En la página Event Hubs , seleccione + Crear en la barra de comandos.
- En la página Crear espacio de nombres , siga estos pasos:
- Seleccione la suscripción de Azure que usó para crear el espacio de nombres de Event Grid.
- Seleccione el grupo de recursos que usó anteriormente.
- Escriba un nombre para el espacio de nombres de Event Hubs.
- Seleccione la misma ubicación que usó para el espacio de nombres de Event Grid.
- Seleccione Básico para el plan de tarifa .
- Selecciona Revisar + crear.
- En la página Revisar, seleccione Crear.
- En la página Implementación , seleccione Ir al recurso después de que la implementación se haya realizado correctamente.
Adición de una identidad administrada de Event Grid al rol remitente de datos de Event Hubs
- En la página Espacio de nombres de Event Hubs, seleccione Control de acceso (IAM) en el menú de la izquierda.
- Seleccione Agregar ->Agregar asignación de roles en la barra de comandos.
- En la página Agregar asignación de roles , busque Remitente de datos de Event Hubs y seleccione Remitente de datos de Azure Event Hubs en la lista de roles y, a continuación, seleccione Siguiente.
- En la pestaña Miembros , seleccione Identidad administrada para el tipo y, a continuación, seleccione + Seleccionar miembros.
- En la página Seleccionar identidades administradas , seleccione Espacio de nombres de Event Grid para la identidad administrada y, a continuación, seleccione la identidad administrada que tiene el mismo nombre que el espacio de nombres de Event Grid.
- En la página Seleccionar identidades administradas , elija Seleccionar.
- Ahora, en la página Agregar asignación de roles, seleccione Revisar y asignar.
- En la página Revisar + asignar, seleccione Revisar + asignar.
Creación de un centro de eventos
- En la página Espacio de nombres de Event Hubs , seleccione Event Hubs en el menú izquierdo.
- En la página Event Hubs , seleccione + Centro de eventos en la barra de comandos.
- En la página Crear centro de eventos, escriba un nombre para el centro de eventos y, a continuación, seleccione Revisar y crear.
- En la página Revisar y crear, seleccione Crear.
Creación de una suscripción a evento
Cree una suscripción de eventos estableciendo su modo de entrega en Push, que admite entrega push.
- Cambie a la pestaña o ventana con la página Espacio de nombres de Event Grid abierta desde la pestaña o ventana con la página Espacio de nombres de Event Hubs abierta.
- En la página Espacio de nombres de Event Grid, seleccione Temas en el menú de la izquierda.
- En la página Temas , seleccione el tema que creó en el paso anterior.
- Seleccione + Suscripción en la barra de comandos.
- En la página Crear suscripción de eventos, siga estos pasos:
- En la pestaña Básico , escriba un nombre para la suscripción de eventos.
- Seleccione Push para el modo de entrega de eventos.
- Confirme que el centro de eventos seleccionado para el tipo de punto de conexión.
- Seleccione Configurar un punto de conexión.
- En la página Seleccionar centro de eventos , siga estos pasos:
- De nuevo en la página Crear suscripción, seleccione Sistema asignado para Tipo de identidad administrada.
- Selecciona Crear.
Envía eventos a tu tema
Ahora, envíe un evento de ejemplo al tema de espacio de nombres siguiendo los pasos de esta sección.
Inicie Cloud Shell en Azure Portal. Cambie a Bash.
En Cloud Shell, ejecute el siguiente comando para declarar una variable que contenga la clave de acceso para el espacio de nombres. Anotó la clave de acceso anteriormente en este inicio rápido.
key=ACCESSKEY
Declare una variable para contener el URI de la operación de publicación. Reemplace por
NAMESPACENAME
el nombre del espacio de nombres de Event Grid yTOPICNAME
por el nombre del tema.publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
Cree un evento compatible con CloudEvents de ejemplo:
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
El elemento
data
es la carga del evento. En este campo, puede usar cualquier archivo JSON bien formado. Para obtener más información sobre las propiedades (también conocidas como atributos de contexto) que pueden ir en un evento, consulte las especificaciones de CloudEvents .Use CURL para enviar el evento al tema. CURL es una utilidad que envía solicitudes HTTP.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Vaya a la página Espacio de nombres de Event Hubs en Azure Portal, actualice la página y compruebe que el contador de mensajes entrantes del gráfico indica que se ha recibido un evento.
Pasos siguientes
En este artículo, ha creado y configurado el espacio de nombres de Event Grid y los recursos de Event Hubs. Para obtener instrucciones paso a paso para recibir eventos de un centro de eventos, consulte estos tutoriales: