Compartir a través de


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

El artículo proporciona instrucciones paso a paso para publicar eventos en Azure Event Grid en el formato JSON de CloudEvents y entregar esos eventos mediante el modelo de entrega de inserción.

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 de inserción, consulte Introducción a la entrega de inserción.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

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 en el que se publican los 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. Acceda a Azure Portal.

  2. En la barra de búsqueda del tema, escriba Event Grid Namespaces y 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. Pase a la siguiente sección 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 emplea un centro de eventos como punto de conexión para usar la identidad administrada asignada por el sistema o 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 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.

Cree 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. Seleccione Crear.
      Captura de pantalla que muestra la página Crear tema.

Creación de 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. Seleccione 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.

Agregar una identidad administrada de Event Grid al rol de emisor 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 Emisor de datos de Event Hubs y seleccione Emisor 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ú de la izquierda.
  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 que establezca su modo de entrega en Insertar, que admite la entrega de inserción.

  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 Insertar para el modo de entrega de eventos.
    3. Confirme que el Centro de eventos se seleccionó 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. Seleccione Crear.

Envío de eventos al 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 NAMESPACENAME por 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 de ejemplo compatible con CloudEvents:

    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. Consulte las especificaciones de CloudEvents para obtener más información sobre las propiedades (también conocidas como atributos de contexto) que pueden ir en un evento.

  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 de Azure Portal, actualícela y compruebe si el contador de mensajes entrantes del gráfico indica que se ha recibido un evento.

    Captura de pantalla que muestra la página del centro de eventos con el gráfico que muestra un evento se ha recibido.

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: