Compartir vía


Tutorial: Uso de temas de espacio de nombres para enrutar mensajes MQTT a Azure Event Hubs (Azure Portal)

En este tutorial, aprenderá a usar un tema de espacio de nombres para enrutar datos de clientes MQTT a Azure Event Hubs. Los pasos generales son los siguientes:

Requisitos previos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
  • Si no está familiarizado con Event Grid, lea la Introducción a Event Grid antes de iniciar este tutorial.
  • Registre el proveedor de recursos de Event Grid según los pasos descritos en Registro del proveedor de recursos de Event Grid.
  • Asegúrese de que el puerto 8883 está abierto en el firewall. En el ejemplo de este tutorial se usa el protocolo MQTT, que se comunica mediante el puerto 8883. Este puerto puede estar bloqueado en algunos entornos de red corporativos y educativos.

Creación de un espacio de nombres en Azure Portal

Un espacio de nombres en Azure Event Grid es un contenedor lógico para uno o varios temas, clientes, grupos de clientes, espacios de temas y enlaces de permisos. Proporciona un espacio de nombres único, lo que le permite tener varios recursos en la misma región de Azure. Con un espacio de nombres de Azure Event Grid, ahora puede agrupar recursos relacionados y administrarlos como una sola unidad en la suscripción de Azure.

Lea las secciones siguientes para crear, visualizar y administrar un espacio de nombres de Azure Event Grid.

Para crear un espacio de nombres:

  1. Inicie sesión en Azure Portal.

  2. En el cuadro de búsqueda, escriba Espacios de nombres de Event Grid y seleccione Espacios de nombres de Event Grid en los resultados.

    Captura de pantalla que muestra los espacios de nombres de Event Grid en los resultados de la búsqueda.

  3. En la página Espacios de nombres de Event Grid, seleccione + Crear en la barra de herramientas.

    Captura de pantalla que muestra la página de Espacios de nombres de Event Grid con el botón Crear de la barra de herramientas seleccionado.

  4. En la página Conceptos básicos, siga estos pasos.

    1. Seleccione la suscripción de Azure en la que desea crear el espacio de nombres.

    2. Seleccione un grupo de recursos existente o cree uno nuevo.

    3. Escriba nombre para el espacio de nombres.

    4. Seleccione la región o la ubicación en la que desea crear el espacio de nombres.

    5. En la parte inferior de la página, seleccione Revisar y crear.

      Captura de pantalla que muestra la pestaña Aspectos básicos de la página Crear espacio de nombres.

  5. En la pestaña Revisar y crear, examine la configuración y seleccione Crear.

  6. En la página Implementación correcta, seleccione Ir al recurso para ir a la página de su espacio de nombres.

Creación de un tema de espacio de nombres

  1. Si no está en la página Espacio de nombres de Event Grid, siga los pasos para crear, ver y administrar espacios de nombres para ver el espacio de nombres que quiere usar para crear el tema.

  2. En la página Espacio de nombres de Event Grid, seleccione la opción Temas de la sección Agente de eventos en el menú de la izquierda.

  3. En la página Temas, seleccione + Tema en la barra de comandos.

    Captura de pantalla que muestra la creación de temas del espacio de nombres de Event Grid.

  4. En la página Crear tema, escriba el nombre del tema que quiere crear y seleccione Crear.

    Captura de pantalla que muestra los aspectos básicos de la creación de temas del espacio de nombres de Event Grid.

Habilitación de la identidad administrada para el espacio de nombres de Event Grid

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

  2. Active el modificador para habilitar una identidad administrada asignada por el sistema.

  3. Seleccione Guardar en la barra de herramientas para guardar la configuración.

    Captura de pantalla de una página de identidad asignada por el sistema para un espacio de nombres de Event Grid.

  4. Seleccione en el mensaje de confirmación.

  5. Confirme que ve el id. de objeto de la identidad administrada asignada por el sistema y un vínculo para asignar roles.

    Captura de pantalla que muestra cómo se ha completado la asignación de identidad a un espacio de nombres.

    Compruebe las notificaciones en el portal para confirmar que la identidad administrada está habilitada para el espacio de nombres.

Habilitar MQTT broker para el espacio de nombres de Event Grid

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

  2. Active la casilla situada junto a Habilitar MQTT broker.

  3. Seleccione Aplicar en la parte inferior de la página.

    Captura de pantalla que muestra la página de configuración del espacio de nombres de Event Grid para habilitar MQTT.

    Compruebe las notificaciones en el portal para confirmar que MQTT broker está habilitado para el espacio de nombres.

En una pestaña independiente del explorador web o en una ventana independiente, use Azure Portal para crear un espacio de nombres de Event Hubs con un centro de eventos.

Creación de un espacio de nombres de Event Hubs

Un espacio de nombres de Event Hubs proporciona un único contenedor donde podrá crear uno o varios centros de eventos. Para crear un espacio de nombres en el grupo de recursos mediante el portal, haga lo siguiente:

  1. En Azure Portal, seleccione Todos los servicios en el menú de la izquierda y seleccione el asterisco (*) junto a Event Hubs en la categoría Análisis. Confirme que Event Hubs se agrega a FAVORITOS en el menú de navegación de la izquierda.

    Captura de pantalla que muestra la selección de Event Hubs en la página Todos los servicios.

  2. Seleccione Event Hubs en FAVORITOS en el menú de navegación de la izquierda y seleccione Crear en la barra de herramientas.

    Captura de pantalla en la que se muestra la selección del botón Crear en la página de Event Hubs.

  3. En la página Crear espacio de nombres, realice los pasos siguientes:

    1. Seleccione la suscripción en la que desea crear el espacio de nombres.

    2. Seleccione el grupo de recursos que ha creado en el paso anterior.

    3. Escriba el nombre del espacio de nombres. El sistema realiza la comprobación automáticamente para ver si el nombre está disponible.

    4. Seleccione una ubicación para el espacio de nombres.

    5. Elija Básico como plan de tarifa. Si tiene previsto utilizar el espacio de nombres de Aplicaciones de Apache Kafka, utilice el nivel Estándar. El nivel básico no admite cargas de trabajo de Apache Kafka. Para conocer las diferencias entre los niveles, consulte los artículos Cuotas y límites, Event Hubs Prémium y Event Hubs dedicado.

    6. Deje las unidades de rendimiento (para el nivel estándar) o las unidades de procesamiento (para el nivel Prémium) tal como están. Para información sobre las unidades de rendimiento o las unidades de procesamiento, consulte Escalabilidad de Event Hubs.

    7. En la parte inferior de la página, seleccione Revisar y crear.

      Captura de pantalla de la página Crear un espacio de nombres en Azure Portal.

    8. En la página Revisar y crear, examine la configuración y seleccione Crear. Espere a que la implementación se complete.

  4. En la página Implementación, seleccione Ir al recurso para ir a la página de su espacio de nombres.

    Captura de pantalla de la página Implementación finalizada con el vínculo al recurso.

  5. Confirme que la página Espacio de nombres de Event Hubs que ve es similar al ejemplo siguiente:

    Captura de pantalla de la página principal de su espacio de nombres de Event Hubs en Azure Portal.

Creación de un centro de eventos

Para crear un centro de eventos en el espacio de nombres, haga lo siguiente:

  1. En la página Información general, seleccione + Centro de eventos en la barra de comandos.

    Captura de pantalla de la selección del botón Agregar centro de eventos en la barra de comandos.

  2. Escriba el nombre del centro de eventos y seleccione Revisar y crear.

    Captura de pantalla de la página Creación de un centro de eventos.

  3. En la página Revisar y crear, seleccione Crear.

  4. Puede comprobar el estado de la creación del centro de eventos en las alertas. Una vez creado el centro de eventos, puede verlo en la lista de centros de eventos.

    Captura de pantalla que muestra la lista de centros de eventos.

Asigne al espacio de nombres de Event Grid el acceso para enviar eventos al centro de eventos.

  1. En la página Espacio de nombres de Event Hubs, seleccione Control de acceso (IAM) en el menú de la izquierda.

  2. En la página Control de acceso, seleccione + Agregar en la barra de comandos y, a continuación, seleccione Agregar asignación de roles.

    Captura de pantalla que muestra la página Control de acceso para el espacio de nombres de Event Hubs.

  3. En la página Agregar asignación de roles, seleccione Remitente de datos de Azure Event Hubs en la lista de roles y, a continuación, seleccione Siguiente en la parte inferior de la página.

    Captura de pantalla que muestra la página Agregar asignación de roles con el remitente de datos de Azure Event Hubs seleccionado.

  4. En la página Miembros, siga estos pasos:

    1. En el campo Asignar acceso a, seleccione Identidad administrada.

    2. Elija + Seleccionar miembros.

      Captura de pantalla que muestra la página Agregar asignación de rol con Identidad administrada seleccionada.

  5. En la página Seleccionar identidades administradas, siga estos pasos:

    1. Selección la suscripciónde Azure.

    2. En Identidad administrada, seleccione Espacio de nombres de Event Grid.

    3. Seleccione la identidad administrada que tiene el mismo nombre que el espacio de nombres de Event Grid.

    4. Seleccione Seleccionar en la parte inferior de la página.

      Captura de pantalla que muestra la página Seleccionar identidades administradas con la identidad administrada del espacio de nombres de Event Grid seleccionada.

  6. En la página Agregar asignación de roles, seleccione Revisar y asignar en la parte inferior de la página.

  7. En la página Revisar + asignar, seleccione Revisar + asignar.

Crear una suscripción de eventos con Event Hubs como punto de conexión

  1. Cambie a la pestaña de la ventana del explorador web que tiene abierto el espacio de nombres de Event Grid.

  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 de espacio de nombres que creó anteriormente.

    Captura de pantalla que muestra la página Temas con el tema de espacio de nombres seleccionado.

  4. En la página Tema del espacio de nombres de Event Grid, seleccione + Suscripción en la barra de comandos de la parte superior.

    Captura de pantalla que muestra la página Suscripciones.

  5. En la página Crear suscripción, siga estos pasos:

    1. Escriba un nombre para la suscripción a eventos.

    2. En Modo de entrega, seleccione Insertar.

    3. Confirme que Tipo de punto de conexión está establecido en Centro de eventos.

    4. Seleccione Configurar un punto de conexión.

      Captura de pantalla que muestra la página Crear suscripción.

    5. En Seleccionar centro de eventos, siga estos pasos:

      1. Seleccione la suscripción de Azure que tiene el centro de eventos.

      2. Seleccione el grupo de recursos que tenga el centro de eventos.

      3. Seleccione el espacio de nombres de Event Hubs.

      4. Seleccione el centro de eventos en el espacio de nombres de Event Hubs.

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

    7. En la parte inferior de la página, seleccione Crear.

      Captura de pantalla que muestra la página Crear suscripción con el botón Crear seleccionado.

Configuración del enrutamiento en el espacio de nombres de Event Grid

  1. Vuelva a la página de Espacio de nombres de Event Grid seleccionando el espacio de nombres en la sección Essentials de la página Tema de espacio de nombres de Event Grid o seleccionando el nombre del espacio de nombres en el menú de la ruta de navegación de la parte superior.

  2. En la página Espacio de nombres de Event Grid, seleccione Enrutamiento en el menú izquierdo de la sección MQTT broker.

  3. En la página Enrutamiento, seleccione Habilitar enrutamiento.

  4. En Tipo de tema, seleccioneTema de espacio de nombres.

  5. En Tema, seleccione el tema espacio de nombres de Event Grid que creó donde se enrutarán todos los mensajes MQTT.

  6. Seleccione Aplicar.

    Captura de pantalla que muestra la página Enrutamiento con el tema de espacio de nombres seleccionado.

    Compruebe las notificaciones para confirmar que el espacio de nombres está habilitado con la información de enrutamiento.

Crear clientes, espacio de temas y enlaces de permisos

Siga los pasos del inicio rápido: Publicar y suscribirse en un tema de MQTT para:

  1. Crear un cliente. Puede crear el segundo cliente si lo desea, pero es opcional.

  2. Crear un espacio de temas.

  3. Crear enlaces de permisos de publicador y suscriptor.

  4. Use MQTTX para enviar algunos mensajes.

  5. Compruebe que el centro de eventos recibió esos mensajes en la página Información general del espacio de nombres de Event Hubs.

    Captura de pantalla que muestra la página Información general del centro de eventos con el recuento de mensajes entrantes.

Visualizar mensajes MQTT enrutados en Event Hubs mediante una consulta de Stream Analytics

Vaya a la instancia de Event Hubs (centro de eventos) dentro de la suscripción de eventos en Azure Portal. Procesamiento de datos del centro de eventos mediante Stream Analytics. Para obtener más información, consulte Procesamiento de datos de Azure Event Hubs mediante Stream Analytics: Azure Event Hubs | Microsoft Learn. Puede ver los mensajes MQTT en la consulta.

Captura de pantalla que muestra los datos de mensajes MQTT en Event Hubs mediante la herramienta de consulta de Stream Analytics.

Pasos siguientes

Para obtener ejemplos de código, vaya a este repositorio de GitHub.