Creare una connessione a griglia di eventiCreate a connection to Event Grid

Griglia di eventi è una pipeline che è in ascolto di archiviazione di Azure e aggiorna Esplora dati di Azure per eseguire il pull delle informazioni quando si verificano eventi sottoscritti.Event Grid is a pipeline that listens to Azure storage, and updates Azure Data Explorer to pull information when subscribed events occur. Azure Esplora dati offre l'inserimento continuo da archiviazione di Azure (archiviazione BLOB e ADLSv2) con la sottoscrizione di griglia di eventi di Azure per le notifiche create da BLOB e il flusso di queste notifiche ad Azure Esplora dati tramite un hub eventi.Azure Data Explorer offers continuous ingestion from Azure Storage (Blob storage and ADLSv2) with Azure Event Grid subscription for blob created notifications and streaming these notifications to Azure Data Explorer via an Event Hub.

La pipeline di inserimento di griglia di eventi passa attraverso diversi passaggi.The Event Grid ingestion pipeline goes through several steps. Si crea una tabella di destinazione in Azure Esplora dati in cui verranno inseriti i dati in un particolare formato .You create a target table in Azure Data Explorer into which the data in a particular format will be ingested. Si crea quindi una connessione dati di griglia di eventi in Azure Esplora dati.Then you create an Event Grid data connection in Azure Data Explorer. Per la connessione dati di griglia di eventi è necessario conoscere le informazioni di routing degli eventi , ad esempio la tabella a cui inviare i dati e il mapping delle tabelle.The Event Grid data connection needs to know events routing information, such as what table to send the data to and the table mapping. È inoltre possibile specificare le Proprietàdi inserimento, che descrivono i dati da inserire, la tabella di destinazione e il mapping.You also specify ingestion properties, which describe the data to be ingested, the target table, and the mapping. È possibile generare dati di esempio e caricare BLOB per testare la connessione.You can generate sample data and upload blobs to test your connection. Elimina i BLOB dopo l'inserimento.Delete blobs after ingestion. Questo processo può essere gestito tramite il portale di Azure, a livello di codice con C# o Pythono con il modello di Azure Resource Manager.This process can be managed through the Azure portal, programmatically with C# or Python, or with the Azure Resource Manager template.

Per informazioni generali sull'inserimento di dati in Azure Esplora dati, vedere Panoramica dell'inserimento dei dati in azure Esplora dati.For general information about data ingestion in Azure Data Explorer, see Azure Data Explorer data ingestion overview.

Formato datiData format

  • Vedere formati supportati.See supported formats.
  • Vedere le compressioni supportate.See supported compressions.
    • Le dimensioni dei dati non compressi originali devono far parte dei metadati del BLOB, altrimenti Azure Esplora dati lo stimerà.The original uncompressed data size should be part of the blob metadata, or else Azure Data Explorer will estimate it. Il limite di dimensioni non compresse di inserimento per file è 4 GB.The ingestion uncompressed size limit per file is 4 GB.

Imposta proprietà di inserimentoSet ingestion properties

È possibile specificare le Proprietà di inserimento dell'inserimento di BLOB tramite i metadati del BLOB.You can specify ingestion properties of the blob ingestion via the blob metadata. È possibile inoltre impostare le proprietà seguenti:You can set the following properties:

ProprietàProperty Descrizione della proprietàProperty description
rawSizeBytes Dimensioni dei dati non elaborati (non compressi).Size of the raw (uncompressed) data. Per avro/ORC/parquet, ovvero le dimensioni prima dell'applicazione della compressione specifica del formato.For Avro/ORC/Parquet, that is the size before format-specific compression is applied. Specificare le dimensioni dei dati originali impostando questa proprietà sulla dimensione dei dati non compressi in byte.Provide the original data size by setting this property to the uncompressed data size in bytes.
kustoTable Nome della tabella di destinazione esistente.Name of the existing target table. Esegue l'override del Table set nel pannello Data Connection .Overrides the Table set on the Data Connection blade.
kustoDataFormat Formato dati.Data format. Esegue l'override del Data format set nel pannello Data Connection .Overrides the Data format set on the Data Connection blade.
kustoIngestionMappingReference Nome del mapping di inserimento esistente da usare.Name of the existing ingestion mapping to be used. Esegue l'override del Column mapping set nel pannello Data Connection .Overrides the Column mapping set on the Data Connection blade.
kustoIgnoreFirstRecord Se impostato su true , kusto ignora la prima riga del BLOB.If set to true, Kusto ignores the first row of the blob. Usare i dati in formato tabulare (CSV, TSV o simile) per ignorare le intestazioni.Use in tabular format data (CSV, TSV, or similar) to ignore headers.
kustoExtentTags Stringa che rappresenta i tag che verranno collegati all'extent risultante.String representing tags that will be attached to resulting extent.
kustoCreationTime Esegue l'override $IngestionTime per il BLOB, formattato come stringa ISO 8601.Overrides $IngestionTime for the blob, formatted as an ISO 8601 string. Da usare per il riempimento.Use for backfilling.

Imposta routing eventiSet events routing

Quando si configura una connessione di archiviazione BLOB ad Azure Esplora dati cluster, specificare le proprietà della tabella di destinazione:When setting up a blob storage connection to Azure Data Explorer cluster, specify target table properties:

  • Nome tabellatable name
  • formato datidata format
  • mappingmapping

Questa configurazione è il routing predefinito per i dati, a volte definito static routing .This setup is the default routing for your data, sometimes referred to as static routing. È anche possibile specificare le proprietà della tabella di destinazione per ogni BLOB usando i metadati del BLOB.You can also specify target table properties for each blob, using blob metadata. I dati vengono indirizzati in modo dinamico, come specificato dalle Proprietàdi inserimento.The data will dynamically route, as specified by ingestion properties.

Nell'esempio seguente viene illustrato come impostare le proprietà di inserimento sui metadati del BLOB prima di caricarlo.The following example shows you how to set ingestion properties on the blob metadata before uploading it. I BLOB vengono instradati a tabelle diverse.Blobs are routed to different tables.

Per altre informazioni, vedere caricare BLOB.For more information, see upload blobs.

// Blob is dynamically routed to table `Events`, ingested using `EventsMapping` data mapping
blob = container.GetBlockBlobReference(blobName2);
blob.Metadata.Add("rawSizeBytes", "4096‬"); // the uncompressed size is 4096 bytes
blob.Metadata.Add("kustoTable", "Events");
blob.Metadata.Add("kustoDataFormat", "json");
blob.Metadata.Add("kustoIngestionMappingReference", "EventsMapping");
blob.UploadFromFile(jsonCompressedLocalFileName);

Caricare i BLOBUpload blobs

È possibile creare un BLOB da un file locale, impostare le proprietà di inserimento sui metadati del BLOB e caricarlo.You can create a blob from a local file, set ingestion properties to the blob metadata, and upload it. Per esempi, vedere inserire i BLOB in Azure Esplora dati sottoscrivendo le notifiche di griglia di eventiFor examples, see Ingest blobs into Azure Data Explorer by subscribing to Event Grid notifications

Nota

Usare BlockBlob per generare i dati.Use BlockBlob to generate data. AppendBlob non è supportato.AppendBlob is not supported.

Nota

L'uso di Azure Data Lake Gen2 Storage SDK richiede CreateFile l'uso di per il caricamento di file e Flush alla fine con il parametro Close impostato su "true".Using Azure Data Lake Gen2 storage SDK requires using CreateFile for uploading files and Flush at the end with the close parameter set to "true". Per un esempio dettagliato di Data Lake utilizzo corretto di Gen2 SDK, vedere caricare file con Azure Data Lake SDK.For a detailed example of Data Lake Gen2 SDK correct usage, see upload file using Azure Data Lake SDK.

Eliminare i BLOB con il ciclo di vita dell'archiviazioneDelete blobs using storage lifecycle

Azure Esplora dati non eliminerà i BLOB dopo l'inserimento.Azure Data Explorer won't delete the blobs after ingestion. Usare il ciclo di vita dell' archiviazione BLOB di Azure per gestire l'eliminazione dei BLOB.Use Azure Blob storage lifecycle to manage your blob deletion. È consigliabile che i BLOB vengano conservati da tre a cinque giorni.It's recommended to keep the blobs for three to five days.

Problemi noti di griglia di eventiKnown Event Grid issues

  • Quando si usa Azure Esplora dati per esportare i file usati per l'inserimento di griglia di eventi, tenere presente quanto segue:When using Azure Data Explorer to export the files used for event grid ingestion, note:
    • Le notifiche di griglia di eventi non vengono attivate se la stringa di connessione fornita al comando Esporta o la stringa di connessione fornita a una tabella esterna è una stringa di connessione in formato ADLS Gen2 (ad esempio, abfss://filesystem@accountname.dfs.core.windows.net ) ma l'account di archiviazione non è abilitato per lo spazio dei nomi gerarchico.Event Grid notifications aren't triggered if the connection string provided to the export command or the connection string provided to an external table is a connecting string in ADLS Gen2 format (for example, abfss://filesystem@accountname.dfs.core.windows.net) but the storage account isn't enabled for hierarchical namespace.
    • Se l'account non è abilitato per lo spazio dei nomi gerarchico, la stringa di connessione deve usare il formato di archiviazione BLOB (ad esempio, https://accountname.blob.core.windows.net ).If the account isn't enabled for hierarchical namespace, connection string must use the Blob Storage format (for example, https://accountname.blob.core.windows.net). L'esportazione funziona come previsto anche quando si usa la stringa di connessione ADLS Gen2, ma le notifiche non verranno attivate e l'inserimento di griglia di eventi non funzionerà.The export works as expected even when using the ADLS Gen2 connection string, but notifications won't be triggered and Event Grid ingestion won't work.

Passaggi successiviNext steps