Erstellen einer Event Grid-Datenverbindung für Azure Data Explorer

In diesem Artikel erfahren Sie, wie Blobs aus Ihrem Speicherkonto unter Verwendung einer Event Grid-Datenverbindung in Azure Data Explorer erfasst werden. Sie erstellen eine Event Grid-Datenverbindung, über die ein Azure Event Grid-Abonnement festgelegt wird. Das Event Grid-Abonnement leitet Ereignisse aus Ihrem Speicherkonto über Azure Event Hubs an Azure Data Explorer weiter.

Hinweis

Die Erfassung unterstützt eine maximale Dateigröße von 6 GB. Es wird empfohlen, Dateien zwischen 100 MB und 1 GB zu erfassen.

Informationen zum Erstellen der Verbindung mithilfe der Kusto-SDKs finden Sie unter Erstellen einer Event Grid-Datenverbindung mit SDKs.

Allgemeine Informationen zur Erfassung in Azure Data Explorer aus Event Grid finden Sie unter Herstellen einer Verbindung mit Event Grid.

Hinweis

Um die beste Leistung mit der Event Grid-Verbindung zu erzielen, legen Sie die rawSizeBytes-Erfassungseigenschaft über die Blob-Metadaten fest. Weitere Informationen finden Sie unter Erfassungseigenschaften.

Voraussetzungen

Erstellen einer Event Grid-Datenverbindung

In diesem Abschnitt richten Sie eine Verbindung zwischen Event Grid und Ihrer Azure Data Explorer-Tabelle ein.

  1. Navigieren Sie im Azure-Portal zu Ihrem Azure Data Explorer-Cluster.

  2. Wählen Sie unter Daten die Option Datenbanken>TestDatabase aus.

    Screenshot des Datenbankabschnitts des Clusters mit einer Liste der darin enthaltenen Datenbanken

  3. Wählen Sie unter Einstellungen die Option Datenverbindungen aus, und wählen Sie dann Datenverbindung hinzufügen>Event Grid (Blob Storage) aus.

    Screenshot der Seite „Datenverbindungen“. Die Option zum Hinzufügen einer Datenverbindung ist hervorgehoben.

  4. Füllen Sie das Formular für die Event Grid-Datenverbindung mit den folgenden Informationen aus:

    Screenshot des Event Grid-Bereichs mit den Details für die Datenverbindung

    Einstellung Empfohlener Wert Feldbeschreibung
    Name der Datenverbindung test-grid-connection Der Name der Verbindung, die Sie im Azure Data Explorer erstellen möchten. Namen von Datenverbindungen dürfen nur alphanumerische Zeichen, Bindestriche und Punkte enthalten und können bis zu 40 Zeichen lang sein.
    Speicherkontoabonnement Ihre Abonnement-ID Die Abonnement-ID, unter der sich Ihr Speicherkonto befindet.
    Ereignistyp Blob erstellt oder Blob umbenannt Der Typ des Ereignisses, das die Erfassung auslöst Blob umbenannt wird nur für ADLSv2-Speicher unterstützt. Navigieren Sie zum Umbenennen eines Blobs im Azure-Portal zum Blob, klicken Sie mit der rechten Maustaste auf das Blob, und wählen Sie Umbenennen aus. Folgende Typen werden unterstützt: „Microsoft.Storage.BlobCreated“ oder „Microsoft.Storage.BlobRenamed“.
    Speicherkonto gridteststorage1 Der Name des zuvor erstellten Speicherkontos.
    Ressourcenerstellung Automatisch Das Aktivieren der automatischen Ressourcenerstellung bedeutet, dass Azure Data Explorer ein Event Grid-Abonnement, einen Event Hubs-Namespace und eine Event Hub-Instanz für Sie erstellt. Andernfalls müssen Sie diese Ressourcen manuell erstellen, um die Erstellung der Datenverbindung sicherzustellen. Weitere Informationen finden Sie unter Manuelles Erstellen von Ressourcen für die Event Grid-Erfassung.
    1. Optional können Sie bestimmte Event Grid-Themen nachverfolgen. Legen Sie die Filter für die Benachrichtigungen wie folgt fest:

      • Das Feld Präfix ist das Literalpräfix des Themas. Da das angewendete Muster Beginnt mit ist, kann es für mehrere Container, Ordner oder Blobs gelten. Platzhalter sind nicht zulässig.
        • Zum Definieren eines Filters für den Blobcontainer muss das Feld wie folgt festgelegt werden: /blobServices/default/containers/[container prefix].
        • Zum Definieren eines Filters für ein Blobpräfix (oder einen Ordner in Azure Data Lake Gen2) muss das Feld wie folgt festgelegt werden: /blobServices/default/containers/[container name]/blobs/[folder/blob prefix].
      • Das Feld Suffix ist das Literalsuffix des Blobs. Platzhalter sind nicht zulässig.
      • Mit dem Feld Groß-/Kleinschreibung beachten wird angegeben, ob bei den Präfix- und Suffixfiltern nach Groß-/Kleinschreibung unterschieden wird.

      Weitere Informationen zum Filtern von Ereignissen finden Sie unter Blob Storage-Ereignisse.

    2. Optional können Sie die Datenroutingeinstellungen gemäß den folgenden Informationen angeben. Sie müssen nicht alle Datenroutingeinstellungen angeben. Es ist auch zulässig, nur einen Teil der Einstellungen anzugeben.

      Einstellung Empfohlener Wert Feldbeschreibung
      Weiterleiten der Daten an andere Datenbanken zulassen (Datenverbindung mit mehreren Datenbanken) Nicht zulassen Aktivieren Sie diese Option, wenn Sie die Standardzieldatenbank überschreiben möchten, die der Datenverbindung zugeordnet ist. Weitere Informationen zum Datenbankrouting finden Sie unter Ereignisrouting.
      Tabellenname TestTable Die Tabelle, die Sie unter TestDatabase erstellt haben.
      Datenformat JSON Unterstützte Formate sind: APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT und W3CLOG. Unterstützte Komprimierungsoptionen sind ZIP und Gzip.
      Zuordnungsname TestTable_mapping Die Zuordnung, die Sie in TestDatabase erstellt haben, um eingehende Daten den Spaltennamen und Datentypen von TestTable zuzuordnen. Wenn diese nicht angegeben ist, wird eine Identitätsdatenzuordnung, die aus dem Schema der Tabelle abgeleitet ist, automatisch generiert.
      Formatfehler ignorieren Ignorieren Aktivieren Sie diese Option, wenn Sie Formatfehler für das JSON-Datenformat ignorieren möchten.

      Hinweis

      Für Tabellen- und Zuordnungsnamen wird die Groß-/Kleinschreibung beachtet.

    3. Optional können Sie unter Erweiterte Einstellungen den verwalteten Identitätstyp angeben, der von Ihrer Datenverbindung verwendet wird. Standardmäßig ist Systemseitig zugewiesen ausgewählt.

      Wenn Sie Benutzerseitig zugewiesen auswählen, müssen Sie manuell eine verwaltete Identität zuweisen. Wenn Sie einen Benutzer auswählen, der Ihrem Cluster noch nicht zugewiesen ist, wird er automatisch zugewiesen. Weitere Informationen finden Sie unter Konfigurieren verwalteter Identitäten für Ihren Azure Data Explorer-Cluster.

      Wenn Sie Keinen auswählen, werden das Speicherkonto und der Event Hub über Verbindungszeichenfolgen authentifiziert. Diese Methode wird nicht empfohlen.

      Screenshot des Abschnitts „Erweiterte Einstellungen“ mit den verwalteten Identitätstypen, die für die Datenverbindung verwendet werden können.

  5. Klicken Sie auf Erstellen

Verwenden der Event Grid-Datenverbindung

In diesem Abschnitt wird gezeigt, wie Sie die Erfassung von Azure Blob Storage oder Azure Data Lake Gen 2 in Ihren Cluster nach der Blob-Erstellung oder Blob-Umbenennung auslösen.

Wählen Sie die relevante Registerkarte basierend auf dem Typ des Speicher-SDK aus, das zum Hochladen von Blobs verwendet wird.

Im folgenden Codebeispiel wird das Azure Blob Storage SDK verwendet, um eine Datei in Azure Blob Storage hochzuladen. Der Upload löst die Ereignisrasterdatenverbindung aus, welche die Daten in Azure Data Explorer erfasst.

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);

Hinweis

Azure Data Explorer löscht die Blobs nach der Erfassung nicht. Behalten Sie die Blobs für drei bis fünf Tage bei, indem Sie den Azure Blob Storage-Lebenszyklus zum Verwalten von Bloblöschungen verwenden.

Hinweis

Das Auslösen der Erfassung nach einem CopyBlob-Vorgang wird für Speicherkonten, für die das hierarchische Namespacefeature aktiviert ist, nicht unterstützt.

Wichtig

Wir raten dringend davon ab, Speicherereignisse aus benutzerdefiniertem Code zu erzeugen und an Event Hubs zu senden. Wenn Sie dies tun, stellen Sie sicher, dass die erstellten Ereignisse strikt den geeigneten Schemas für Speicherereignisse und JSON-Formatspezifikationen entsprechen.

Entfernen einer Event Grid-Datenverbindung

Führen Sie die folgenden Schritte aus, um die Event Grid-Verbindung über das Azure-Portal zu entfernen:

  1. Zum Custer wechseln Wählen Sie im linken Menü Einstellungen aus. Wählen Sie dann die Datenbank aus, die die Zieltabelle enthält.
  2. Wählen Sie im linken Menü Datenverbindungen aus. Aktivieren Sie dann das Kontrollkästchen neben der relevanten Event Grid-Datenverbindung.
  3. Wählen Sie in der oberen Menüleiste Löschen aus.