Compartir a través de


Entrega de eventos a Azure Event Hubs mediante temas de espacio de nombres: Azure Portal

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).

  1. Vaya al portal de Azure.

  2. En la barra de búsqueda del tema, escriba Event Grid Namespacesy seleccione Event Grid Namespaces entre los resultados.

    Captura de pantalla que muestra la barra de búsqueda en Azure Portal.

  3. En la página Espacios de nombres de Event Grid, seleccione + Crear en la barra d comandos. Captura de pantalla que muestra la página Espacios de nombres de Event Grid con el botón Crear de la barra de comandos seleccionada.

  4. En la página Crear espacio de nombres, siga estos pasos:

    1. Seleccione la suscripción de Azure en la que desea crear el espacio de nombres.
    2. Cree un nuevo grupo de recursos seleccionando Crear nuevo o seleccione un grupo de recursos existente.
    3. Escriba nombre para el espacio de nombres.
    4. Seleccione la ubicación donde desea crear el grupo de recursos.
    5. Después, seleccione Revisar y crear.
      Captura de pantalla que muestra la página Crear espacio de nombres.
    6. En la página Revisar y crear, seleccione Crear.
  5. En la página Implementación , seleccione Ir al recurso después de la implementación correcta.

Obtención de la clave de acceso

  1. En la página Espacio de nombres de Event Grid , seleccione Claves de acceso en el menú de la izquierda.
  2. Seleccione el botón Copiar situado junto a la clave de acceso. Captura de pantalla que muestra la página Espacios de nombres de Event Grid con la pestaña Claves de acceso seleccionada.
  3. 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:

  1. 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.
  2. 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.
  3. 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.

  1. En la página Espacio de nombres de Event Grid , seleccione Identidad en el menú de la izquierda.

  2. En la página Identidad , seleccione Activado para el estado.

  3. Seleccione Guardar en la barra de comandos.

    Captura de pantalla que muestra la pestaña Identidad de la página Espacios de nombres de Event Grid.

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.

  1. Seleccione Temas en el menú de la izquierda.
  2. En la página Temas , seleccione + Tema en la barra de comandos. Captura de pantalla que muestra la página Temas.
  3. En la página Crear tema , siga estos pasos:
    1. Escriba un nombre para el tema.
    2. Selecciona Crear.
      Captura de pantalla que muestra la página Crear tema.

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.

  1. Escriba Event Hubs en la barra de búsqueda y seleccione Event Hubs.
  2. En la página Event Hubs , seleccione + Crear en la barra de comandos.
  3. En la página Crear espacio de nombres , siga estos pasos:
    1. Seleccione la suscripción de Azure que usó para crear el espacio de nombres de Event Grid.
    2. Seleccione el grupo de recursos que usó anteriormente.
    3. Escriba un nombre para el espacio de nombres de Event Hubs.
    4. Seleccione la misma ubicación que usó para el espacio de nombres de Event Grid.
    5. Seleccione Básico para el plan de tarifa .
    6. Selecciona Revisar + crear. Captura de pantalla que muestra la página Crear espacio de nombres de Event Hubs.
    7. En la página Revisar, seleccione Crear.
  4. 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

  1. En la página Espacio de nombres de Event Hubs, seleccione Control de acceso (IAM) en el menú de la izquierda.
  2. Seleccione Agregar ->Agregar asignación de roles en la barra de comandos. Captura de pantalla que muestra la página Espacio de nombres de Event Hubs con la pestaña Control de acceso seleccionada.
  3. 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. Captura de pantalla que muestra la página Agregar asignación de roles.
  4. En la pestaña Miembros , seleccione Identidad administrada para el tipo y, a continuación, seleccione + Seleccionar miembros. Captura de pantalla que muestra la pestaña Miembros de la página Agregar asignación de roles.
  5. 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. Captura de pantalla que muestra la página Seleccionar identidades administradas.
  6. En la página Seleccionar identidades administradas , elija Seleccionar. Captura de pantalla que muestra la identidad administrada seleccionada.
  7. Ahora, en la página Agregar asignación de roles, seleccione Revisar y asignar. Captura de pantalla que muestra la página Agregar asignación de roles con la identidad administrada seleccionada.
  8. En la página Revisar + asignar, seleccione Revisar + asignar.

Creación de un centro de eventos

  1. En la página Espacio de nombres de Event Hubs , seleccione Event Hubs en el menú izquierdo.
  2. En la página Event Hubs , seleccione + Centro de eventos en la barra de comandos. Captura de pantalla que muestra la página de Event Hubs con + Centro de eventos seleccionado.
  3. En la página Crear centro de eventos, escriba un nombre para el centro de eventos y, a continuación, seleccione Revisar y crear. Captura de pantalla que muestra la página Crear centro de eventos.
  4. 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.

  1. 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.
  2. En la página Espacio de nombres de Event Grid, seleccione Temas en el menú de la izquierda.
  3. En la página Temas , seleccione el tema que creó en el paso anterior.
  4. Seleccione + Suscripción en la barra de comandos. Captura de pantalla que muestra la página Tema con el botón Crear suscripción seleccionado.
  5. En la página Crear suscripción de eventos, siga estos pasos:
    1. En la pestaña Básico , escriba un nombre para la suscripción de eventos.
    2. Seleccione Push para el modo de entrega de eventos.
    3. Confirme que el centro de eventos seleccionado para el tipo de punto de conexión.
    4. Seleccione Configurar un punto de conexión. Captura de pantalla que muestra la página Crear suscripción con la opción Insertar seleccionada para el modo de entrega.
    5. En la página Seleccionar centro de eventos , siga estos pasos:
      1. Seleccione la suscripción de Azure y el grupo de recursos que tiene el centro de eventos.
      2. Seleccione el espacio de nombres de Event Hubs y el centro de eventos.
      3. A continuación, seleccione Confirmar selección. Captura de pantalla que muestra la página Seleccionar centro de eventos.
    6. De nuevo en la página Crear suscripción, seleccione Sistema asignado para Tipo de identidad administrada. Captura de pantalla que muestra la página Crear suscripción con el conjunto asignado por el sistema para el tipo de identidad administrada.
    7. 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.

  1. Inicie Cloud Shell en Azure Portal. Cambie a Bash.

    Captura de pantalla que muestra Cloud Shell.

  2. 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
    
  3. 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 y TOPICNAME por el nombre del tema.

    publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
    
  4. 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 .

  5. 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.

    Captura de pantalla que muestra la página de Event Hub con el gráfico que muestra 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: