Ingesta de datos del centro de eventos a Azure Data Explorer
El Explorador de datos de Azure es un servicio de exploración de datos altamente escalable y rápido para datos de telemetría y registro. Azure Data Explorer permite ingerir (cargar) datos procedentes de Event Hubs, IoT Hubs y blobs escritos en contenedores de blobs.
El Explorador de datos de Azure ofrece ingesta (carga de datos) de Event Hubs, una plataforma de streaming de macrodatos y un servicio de ingesta de eventos. Event Hubs puede procesar millones de eventos por segundo prácticamente en tiempo real. En este artículo creará un centro de eventos, se conectará a él desde Azure Data Explorer y verá el flujo de datos a través del sistema.
Para información general sobre la ingesta en Azure Data Explorer desde Event Hubs, consulte Conexión a Event Hubs.
Requisitos previos
- Suscripción a Azure. Cree una cuenta de Azure gratuita.
- Cree un clúster y una base de datos.
- Se recomienda usar una identidad administrada asignada por el usuario o una identidad administrada asignada por el sistema para la conexión de datos (opcional).
- Una aplicación de ejemplo que genera los datos y los envía a un centro de eventos. Descargue la aplicación de ejemplo en el sistema.
- Visual Studio de 2019 para ejecutar la aplicación de ejemplo.
Inicio de sesión en Azure Portal
Inicie sesión en Azure Portal.
Creación de un centro de eventos
Cree un centro de eventos mediante una plantilla de Azure Resource Manager en Azure Portal.
Con el fin de crear un centro de eventos, use el botón siguiente para iniciar la implementación. Haga clic con el botón derecho y seleccione Abrir en una ventana nueva para seguir el resto de los pasos de este artículo.
El botón Deploy to Azure (Implementar en Azure) le lleva a Azure Portal.

Seleccione la suscripción en la que desea crear el centro de eventos y cree un grupo de recursos denominado test-hub-rg.

Rellene el formulario con la siguiente información.
Use los valores predeterminados para cualquier configuración que no aparezca en la tabla siguiente.
Configuración Valor sugerido Descripción del campo Subscription Su suscripción Seleccione la suscripción de Azure que quiere usar para el centro de eventos. Resource group test-hub-rg Cree un nuevo grupo de recursos. Location Oeste de EE. UU. Seleccione Oeste de EE. UU. para este artículo. En un sistema de producción, seleccione la región que mejor se adapte a sus necesidades. Cree el espacio de nombres del centro de eventos en la misma ubicación que el clúster de Azure Data Explorer para mejorar el rendimiento (más importante para espacios de nombres de centro de eventos con alto rendimiento). Nombre del espacio de nombres Nombre único del espacio de nombres Elija un nombre único que identifique el espacio de nombres. Por ejemplo, mytestnamespace. El nombre de dominio servicebus.windows.net se anexa al nombre que proporcione. El nombre solo puede contener letras, números y guiones. El nombre debe comenzar y terminar con una letra o un número. El valor debe tener entre 6 y 50 caracteres. Nombre del centro de eventos test-hub El centro de eventos se encuentra bajo el espacio de nombres, que proporciona un contenedor de ámbito único. El nombre del centro de eventos tiene que ser único dentro del espacio de nombres. Nombre del grupo de consumidores test-group Los grupos de consumidores permiten consumir varias aplicaciones y que cada una tenga una vista independiente del flujo de eventos. Seleccione Revisar + crear.
Revise el resumen de los recursos creados. Seleccione Crear, opción que permite confirmar que está creando recursos en su suscripción.
Seleccione Notificaciones en la barra de herramientas para supervisar el proceso de aprovisionamiento. La implementación puede tardar varios minutos en realizarse correctamente, pero puede continuar con el siguiente paso ahora.

Creación de una tabla de destino en el Explorador de datos de Azure
Ahora creará una tabla en el Explorador de datos de Azure, al que Event Hubs enviará datos. Creará la tabla en el clúster y la base de datos aprovisionada en Requisitos previos.
En Azure Portal, vaya al clúster y seleccione Consultar.

Copie el siguiente comando en la ventana y seleccione Ejecutar para crear la tabla (TestTable) que recibirá los datos ingeridos.
.create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
Copie el siguiente comando en la ventana y seleccione Ejecutar para asignar los datos JSON entrantes a los tipos de datos y los nombres de columna de la tabla (TestTable).
.create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp", "Properties": {"Path": "$.timeStamp"}},{"column":"Name", "Properties": {"Path":"$.name"}} ,{"column":"Metric", "Properties": {"Path":"$.metric"}}, {"column":"Source", "Properties": {"Path":"$.source"}}]'
Conexión a Event Hubs
Ahora puede conectarse al centro de eventos desde Azure Data Explorer. Cuando se efectúa esta conexión, los datos que fluyen al centro de eventos se transmiten a la tabla de prueba que creó anteriormente en este artículo.
Seleccione Notificaciones en la barra de herramientas para comprobar que la implementación del centro de eventos se ha realizado correctamente.
En el clúster que creó, seleccione Bases de datos y TestDatabase.

Seleccione Ingesta de datos y Agregar conexión de datos.
Creación de una conexión de datos
Rellene el formulario con la siguiente información y, después, seleccione Crear.
| Configuración | Valor sugerido | Descripción del campo |
|---|---|---|
| Nombre de la conexión de datos | test-hub-connection | Nombre de la conexión que desea crear en el Explorador de datos de Azure. |
| Suscripción | Identificador de la suscripción donde se encuentra el recurso del centro de eventos. | |
| Espacio de nombres del centro de eventos | Nombre único del espacio de nombres | Nombre elegido anteriormente que identifica el espacio de nombres. |
| Centro de eventos | test-hub | El centro de eventos que ha creado. |
| Grupo de consumidores | test-group | Grupo de consumidores definido en el centro de eventos que creó. |
| Propiedades del sistema de eventos | Seleccione las propiedades pertinentes. | Propiedades del sistema del centro de eventos. Si hay varios registros por cada mensaje de evento, las propiedades del sistema se agregarán al primero de ellos. Cuando agregue las propiedades del sistema, cree o actualice el esquema de tabla y la asignación para incluir las propiedades seleccionadas. |
| Compresión | None | Tipo de compresión de la carga de mensajes del centro de eventos. Tipos de compresión admitidos: Ninguno, Gzip. |
| Identidad administrada (recomendado) | Asignada por el sistema | La identidad administrada que usa el clúster de Data Explorer para el acceso de lectura del centro de eventos. Se recomienda usar identidades administradas para controlar el acceso al centro de eventos. Nota: Cuando se crea la conexión de datos: * * por el sistema se crean automáticamente si no existen * A la identidad administrada se le asigna automáticamente el Azure Event Hubs receptor de datos y se agrega al clúster Explorador de datos datos. Se recomienda comprobar que el rol se asignó y que la identidad se agregó al clúster. |
Nota
Si tiene una conexión de datos existente que no usa identidades administradas, se recomienda actualizarla para que use identidades administradas.
Tabla de destino
Hay dos opciones para el enrutamiento de los datos ingeridos: estático y dinámico. En este artículo, usará el enrutamiento estático, en el que se especifican el nombre de la tabla, el formato de los datos y la asignación como valores predeterminados. Si el mensaje del centro de eventos incluye información de enrutamiento de datos, esta información de enrutamiento invalidará la configuración predeterminada.
Rellene la siguiente configuración de enrutamiento:
Configuración Valor sugerido Descripción del campo Nombre de la tabla TestTable La tabla que creó en TestDatabase. Formato de datos JSON Los formatos admitidos son Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO y W3CLOG. Asignación TestMapping Asignación que creó en TestDatabase, que asigna los datos entrantes a los nombres de columnas y tipos de datos de TestTable. Necesario para JSON, MULTILINE JSON y AVRO y opcional para otros formatos. Nota
- No es necesario especificar todos los valores de configuración de enrutamiento predeterminados. También se aceptan configuraciones parciales.
- Solamente se ingieren los eventos en cola después de crear la conexión de datos.
Seleccione Crear.
Asignación de propiedades del sistema de eventos
Nota
- Las propiedades del sistema son compatibles con
jsonlos formatos tabulares y (csv,tsvetc.). y no se admiten en datos comprimidos. Aunque se utilice un formato no admitido, los datos se ingerirán, pero se omitirán las propiedades. - En el caso de los datos tabulares, las propiedades del sistema solo se admiten para los mensajes de eventos de un solo registro.
- En el caso de los datos JSON, también se admiten las propiedades del sistema para los mensajes de eventos de varios registros. En tales casos, las propiedades del sistema solo se agregan al primer registro del mensaje de evento.
- Para
csvla asignación, las propiedades se agregan al principio del registro en el orden indicado en lacsvsistema. - Para
jsonla asignación, las propiedades se agregan según los nombres de propiedad de lajsonsistema.
Si ha seleccionado Propiedades del sistema de eventos en la sección Origen de datos de la tabla, debe incluir las propiedades del sistema en el esquema de la tabla y la asignación.
Copiar la cadena de conexión
Al ejecutar la aplicación de ejemplo que se enumera en los requisitos previos, necesitará la cadena de conexión para el espacio de nombres del centro de eventos.
En el espacio de nombres del centro de eventos que creó, seleccione Directivas de acceso compartido y RootManageSharedAccessKey.

Copie Cadena de conexión: clave principal. Péguelo en la sección siguiente.

Generación de datos de ejemplo
Use la aplicación de ejemplo que descargó para generar datos.
Abra la aplicación de ejemplo en Visual Studio.
En el archivo program.cs, actualice la constante al nombre del centro de eventos y actualice la constante a la cadena de conexión que copió del espacio de nombres del centro de
connectionStringeventos.const string eventHubName = "test-hub"; // Copy the connection string ("Connection string-primary key") from your Event Hub namespace. const string connectionString = @"<YourConnectionString>";Compile y ejecute la aplicación. La aplicación envía mensajes al centro de eventos e imprime su estado cada 10 segundos.
Cuando la aplicación haya enviado algunos mensajes, vaya al paso siguiente: revisión del flujo de datos en la tabla de prueba y el centro de eventos.
Revisión del flujo de datos
Con la aplicación de generación de datos, ahora puede ver el flujo de datos desde el centro de eventos a la tabla del clúster.
En Azure Portal, en el centro de eventos, verá el pico de actividad cuando la aplicación se está ejecutando.

Ejecute la siguiente consulta en la base de datos de prueba para comprobar cuántos mensajes se han enviado a la base de datos hasta el momento.
TestTable | countPara ver el contenido de los mensajes, ejecute la siguiente consulta:
TestTableEl conjunto de resultados debe tener un aspecto similar al de la siguiente imagen:

Nota
- Azure Data Explorer tiene una directiva de agregación (procesamiento por lotes) para la ingesta de datos diseñada para optimizar dicho proceso. La directiva de procesamiento por lotes predeterminada está configurada para sellar un lote tan pronto como se cumpla una de las siguientes condiciones en el lote: un tiempo de retraso máximo de 5 minutos, un tamaño total de 1 G o 1000 blobs. Por lo tanto, puede experimentar una latencia. Para más información, consulte la directiva de procesamiento por lotes.
- La ingesta de datos del centro de eventos incluye el tiempo de respuesta del centro de eventos de 10 segundos o 1 MB.
- Para reducir el retraso en el tiempo de respuesta, configure la tabla para que admita el streaming. Consulte la directiva de streaming.
Limpieza de recursos
Si no piensa volver a usar el centro de eventos, limpie test-hub-rg para evitar incurrir en costos.
En Azure Portal, seleccione Grupos de recursos en el extremo izquierdo y luego seleccione el grupo de recursos que creó.
Si el menú izquierdo está contraído, seleccione
para expandirlo.
En test-resource-group, seleccione Eliminar grupo de recursos.
En la nueva ventana, escriba el nombre del grupo de recursos que quiere eliminar (test-hub-rg) y seleccione Eliminar.
