Creación de una conexión de datos de Event Grid para Azure Data Explorer

En este artículo, aprenderá a ingerir blobs desde la cuenta de almacenamiento en Azure Data Explorer mediante una conexión de datos de Event Grid. Creará una conexión de datos de Event Grid que establece una suscripción de Azure Event Grid. La suscripción de Event Grid enruta los eventos desde la cuenta de almacenamiento a Azure Data Explorer mediante Azure Event Hubs.

Nota

La ingesta admite un tamaño de archivo máximo de 6 GB. Se recomienda ingerir archivos de entre 100 MB y 1 GB.

Para obtener información sobre cómo crear la conexión mediante los SDK de Kusto, consulte Creación de una conexión de datos de Event Grid con SDK.

Para información general sobre la ingesta en Azure Data Explorer desde Event Grid, consulte Conexión a Event Grid.

Nota

Para lograr el mejor rendimiento con la conexión de Event Grid, establezca la rawSizeBytes propiedad de ingesta a través de los metadatos del blob. Para obtener más información, vea Propiedades de ingesta.

Requisitos previos

Creación de una conexión de datos de Event Grid

En esta sección, establecerá una conexión entre Event Grid y la tabla de Azure Data Explorer.

  1. Vaya al clúster de Azure Data Explorer en el Azure Portal.

  2. En Datos, seleccione Bases de> datosTestDatabase.

    Captura de pantalla de la sección base de datos del clúster que muestra una lista de bases de datos que contiene.

  3. En Configuración, seleccione Conexiones de datos y, después, Agregar conexión> de datosEvent Grid (Blob Storage).

    Captura de pantalla de la página conexiones de datos. La opción para agregar una conexión de datos está resaltada.

  4. Rellene el formulario de conexión de datos de Event Grid con la siguiente información:

    Captura de pantalla del panel de Event Grid que muestra los detalles de la conexión de datos.

    Configuración Valor sugerido Descripción del campo
    Nombre de la conexión de datos test-grid-connection Nombre de la conexión que desea crear en Azure Data Explorer. Los nombres de conexión de datos solo pueden contener caracteres alfanuméricos, guiones y puntos, y tener hasta 40 caracteres de longitud.
    Suscripción de la cuenta de almacenamiento Su Id. de suscripción El identificador de la suscripción en la que reside la cuenta de almacenamiento.
    Tipo de evento Blob creado o Blob con el nombre cambiado Tipo de evento que desencadena la ingesta. El evento Blob con el nombre cambiado solo se admite para el almacenamiento de ADLSv2. Para cambiar el nombre de un blob, vaya al blob en Azure Portal, haga clic con el botón derecho en el blob y seleccione Cambiar nombre. Estos son los tipos que se admiten: Microsoft.Storage.BlobCreated o Microsoft.Storage.BlobRenamed.
    Cuenta de almacenamiento gridteststorage1 Nombre de la cuenta de almacenamiento que creó anteriormente.
    Creación de recursos Automático Activar la creación automática de recursos significa que Azure Data Explorer crea una suscripción a Event Grid, un espacio de nombres de Event Hubs y un centro de eventos automáticamente. De lo contrario, debe crear estos recursos manualmente para garantizar la creación de la conexión de datos. Consulte Creación manual de recursos para la ingesta de Event Grid.
    1. Opcionalmente, puede realizar un seguimiento de temas específicos de Event Grid. Establezca los filtros para las notificaciones de la manera siguiente:

      • El campo prefijo es el prefijo literal del asunto. A medida que se inicia el patrón aplicado, puede abarcar varios contenedores, carpetas o blobs. No se permiten comodines.
        • Para definir un filtro en el contenedor de blobs, el campo debe establecerse de la siguiente manera: .
        • Para definir un filtro en un prefijo de blob (o en una carpeta en Azure Data Lake Gen2), el campo debe establecerse de la siguiente manera: .
      • El campo sufijo es el sufijo literal del blob. No se permiten comodines.
      • El campo Distinguir mayúsculas de minúsculas indica si los filtros de prefijos y sufijos distinguen mayúsculas de minúsculas.

      Para más información sobre el filtrado de eventos, consulte Eventos de Blob Storage.

    2. Opcionalmente, puede especificar la configuración de enrutamiento de datos según la siguiente información. No es necesario especificar todos los valores de configuración de enrutamiento de datos. También se aceptan configuraciones parciales.

      Configuración Valor sugerido Descripción del campo
      Permite el enrutamiento de los datos a otras bases de datos (conexión de datos de varias bases de datos) No permitir Active esta opción si desea invalidar la base de datos de destino predeterminada asociada a la conexión de datos. Para más información acerca del enrutamiento de bases de datos, consulte Enrutamiento de eventos.
      Nombre de la tabla TestTable La tabla que creó en TestDatabase.
      Formato de datos JSON Los formatos admitidos son APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT y W3CLOG. Las opciones de compresión admitidas son Zip y Gzip.
      Nombre de asignación TestTable_mapping Asignación que creó en TestDatabase, que asigna los datos entrantes a los nombres de columnas y tipos de datos de TestTable. Si no se especifica, se genera automáticamente una asignación de datos de identidad derivada del esquema de la tabla.
      Omitir errores de formato Omitir Active esta opción si desea omitir los errores de formato para el formato de datos JSON.

      Nota

      Los nombres de tabla y asignación distinguen mayúsculas de minúsculas.

    3. Opcionalmente, en Configuración avanzada, puede especificar el tipo de identidad administrada que usa la conexión de datos. De forma predeterminada, se selecciona Asignado por el sistema .

      Si selecciona Asignado por el usuario, debe asignar manualmente una identidad administrada. Si selecciona un usuario que aún no está asignado al clúster, se asignará automáticamente. Para más información, consulte Configuración de identidades administradas para el clúster de Azure Data Explorer.

      Si selecciona Ninguno, la cuenta de almacenamiento y el centro de eventos se autentican a través de cadenas de conexión. No se recomienda este método.

      Captura de pantalla de la sección configuración avanzada que muestra los tipos de identidad administrada que se pueden usar para la conexión de datos.

  5. Seleccione Crear

Uso de la conexión de datos de Event Grid

En esta sección se muestra cómo desencadenar la ingesta de Azure Blob Storage o Azure Data Lake Gen 2 en el clúster después de la creación de blobs o el cambio de nombre de blob.

Seleccione la pestaña correspondiente en función del tipo de SDK de almacenamiento que se usa para cargar blobs.

En el ejemplo de código siguiente se usa el SDK de Azure Blob Storage para cargar un archivo en Azure Blob Storage. La carga desencadena la conexión de datos de Event Grid, que ingiere los datos en Azure Data Explorer.

var azureStorageAccountConnectionString = <storage_account_connection_string>;
var containerName = <container_name>;
var blobName = <blob_name>;
var localFileName = <file_to_upload>;
var uncompressedSizeInBytes = <uncompressed_size_in_bytes>;
var mapping = <mapping_reference>;
// Create a new container if it not already exists.
var azureStorageAccount = new BlobServiceClient(azureStorageAccountConnectionString);
var container = azureStorageAccount.GetBlobContainerClient(containerName);
container.CreateIfNotExists();
// Define blob metadata and uploading options.
IDictionary<String, String> metadata = new Dictionary<string, string>();
metadata.Add("rawSizeBytes", uncompressedSizeInBytes);
metadata.Add("kustoIngestionMappingReference", mapping);
var uploadOptions = new BlobUploadOptions
{
    Metadata = metadata,
};
// Upload the file.
var blob = container.GetBlobClient(blobName);
blob.Upload(localFileName, uploadOptions);

Nota

Azure Data Explorer no eliminará los blobs con posterioridad a la ingesta. Conserve los blobs de tres a cinco días mediante el ciclo de vida de Azure Blob Storage para administrar la eliminación de blobs.

Nota

No se admite el desencadenamiento de la ingesta después de una CopyBlob operación para las cuentas de almacenamiento que tienen habilitada la característica de espacio de nombres jerárquico en ellas.

Eliminación de una conexión de datos de Event Grid

Para quitar la conexión de Event Grid de la Azure Portal, siga estos pasos:

  1. Vaya al clúster. En el menú de la izquierda, seleccione Bases de datos. A continuación, seleccione la base de datos que contiene la tabla de destino.
  2. En el menú de la izquierda, seleccione Conexiones de datos. A continuación, active la casilla situada junto a la conexión de datos de Event Grid correspondiente.
  3. En la barra de menús superior, seleccione Eliminar.