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:
Inicie sesión en Azure Portal.
En el cuadro de búsqueda, escriba Espacios de nombres de Event Grid y seleccione Espacios de nombres de Event Grid en los resultados.
En la página Espacios de nombres de Event Grid, seleccione + Crear en la barra de herramientas.
En la página Conceptos básicos, siga estos pasos.
Seleccione la suscripción de Azure en la que desea crear el espacio de nombres.
Seleccione un grupo de recursos existente o cree uno nuevo.
Escriba nombre para el espacio de nombres.
Seleccione la región o la ubicación en la que desea crear el espacio de nombres.
En la parte inferior de la página, seleccione Revisar y crear.
En la pestaña Revisar y crear, examine la configuración y seleccione Crear.
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
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.
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.
En la página Temas, seleccione + Tema en la barra de comandos.
En la página Crear tema, escriba el nombre del tema que quiere crear y seleccione Crear.
Habilitación de la identidad administrada para el espacio de nombres de Event Grid
En la página Espacio de nombres de Event Grid, seleccione Identidad en Configuración en el menú de la izquierda.
Active el modificador para habilitar una identidad administrada asignada por el sistema.
Seleccione Guardar en la barra de herramientas para guardar la configuración.
Seleccione Sí en el mensaje de confirmación.
Confirme que ve el id. de objeto de la identidad administrada asignada por el sistema y un vínculo para asignar roles.
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
En la página Espacio de nombres de Event Grid, seleccione Configuración en Configuración en el menú de la izquierda.
Active la casilla situada junto a Habilitar MQTT broker.
Seleccione Aplicar en la parte inferior de la página.
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:
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.Seleccione Event Hubs en FAVORITOS en el menú de navegación de la izquierda y seleccione Crear en la barra de herramientas.
En la página Crear espacio de nombres, realice los pasos siguientes:
Seleccione la suscripción en la que desea crear el espacio de nombres.
Seleccione el grupo de recursos que ha creado en el paso anterior.
Escriba el nombre del espacio de nombres. El sistema realiza la comprobación automáticamente para ver si el nombre está disponible.
Seleccione una ubicación para el espacio de nombres.
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.
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.
En la parte inferior de la página, seleccione Revisar y crear.
En la página Revisar y crear, examine la configuración y seleccione Crear. Espere a que la implementación se complete.
En la página Implementación, seleccione Ir al recurso para ir a la página de su espacio de nombres.
Confirme que la página Espacio de nombres de Event Hubs que ve es similar al ejemplo siguiente:
Creación de un centro de eventos
Para crear un centro de eventos en el espacio de nombres, haga lo siguiente:
En la página Información general, seleccione + Centro de eventos en la barra de comandos.
Escriba el nombre del centro de eventos y seleccione Revisar y crear.
En la página Revisar y crear, seleccione Crear.
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.
Asigne al espacio de nombres de Event Grid el acceso para enviar eventos al centro de eventos.
En la página Espacio de nombres de Event Hubs, seleccione Control de acceso (IAM) en el menú de la izquierda.
En la página Control de acceso, seleccione + Agregar en la barra de comandos y, a continuación, seleccione Agregar asignación de roles.
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.
En la página Miembros, siga estos pasos:
En el campo Asignar acceso a, seleccione Identidad administrada.
Elija + Seleccionar miembros.
En la página Seleccionar identidades administradas, siga estos pasos:
Selección la suscripciónde Azure.
En Identidad administrada, seleccione Espacio de nombres de Event Grid.
Seleccione la identidad administrada que tiene el mismo nombre que el espacio de nombres de Event Grid.
Seleccione Seleccionar en la parte inferior de la página.
En la página Agregar asignación de roles, seleccione Revisar y asignar en la parte inferior de la página.
En la página Revisar + asignar, seleccione Revisar + asignar.
Crear una suscripción de eventos con Event Hubs como punto de conexión
Cambie a la pestaña de la ventana del explorador web que tiene abierto el espacio de nombres de Event Grid.
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 de espacio de nombres que creó anteriormente.
En la página Tema del espacio de nombres de Event Grid, seleccione + Suscripción en la barra de comandos de la parte superior.
En la página Crear suscripción, siga estos pasos:
Escriba un nombre para la suscripción a eventos.
En Modo de entrega, seleccione Insertar.
Confirme que Tipo de punto de conexión está establecido en Centro de eventos.
Seleccione Configurar un punto de conexión.
En Seleccionar centro de eventos, siga estos pasos:
Seleccione la suscripción de Azure que tiene el centro de eventos.
Seleccione el grupo de recursos que tenga el centro de eventos.
Seleccione el espacio de nombres de Event Hubs.
Seleccione el centro de eventos en el espacio de nombres de Event Hubs.
A continuación, seleccione Confirmar selección.
De nuevo en la página Crear suscripción, seleccione Sistema asignado para Tipo de identidad administrada.
En la parte inferior de la página, seleccione Crear.
Configuración del enrutamiento en el espacio de nombres de Event Grid
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.
En la página Espacio de nombres de Event Grid, seleccione Enrutamiento en el menú izquierdo de la sección MQTT broker.
En la página Enrutamiento, seleccione Habilitar enrutamiento.
En Tipo de tema, seleccioneTema de espacio de nombres.
En Tema, seleccione el tema espacio de nombres de Event Grid que creó donde se enrutarán todos los mensajes MQTT.
Seleccione Aplicar.
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:
Crear un cliente. Puede crear el segundo cliente si lo desea, pero es opcional.
Crear un espacio de temas.
Crear enlaces de permisos de publicador y suscriptor.
Use MQTTX para enviar algunos mensajes.
Compruebe que el centro de eventos recibió esos mensajes en la página Información general del espacio de nombres de Event Hubs.
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.
Pasos siguientes
Para obtener ejemplos de código, vaya a este repositorio de GitHub.