Créer une connexion de données Event Grid pour Azure Data Explorer

Cet article vous montre comment ingérer des objets blob de votre compte de stockage vers Azure Data Explorer en utilisant une connexion de données Event Grid. Vous allez créer une connexion de données Event Grid qui définit un abonnement Azure Event Grid. L’abonnement Event Grid route les événements de votre compte de stockage vers Azure Data Explorer via un hub d’événements Azure.

Notes

L’ingestion prend en charge une taille de fichier maximale de 6 Go. Nous vous recommandons d’ingérer des fichiers entre 100 Mo et 1 Go.

Pour savoir comment créer la connexion à l’aide des kits SDK Kusto, consultez Créer une connexion de données Event Grid avec des SDK.

Pour obtenir des informations générales sur l’ingestion dans Azure Data Explorer à partir d’Event Grid, consultez Se connecter à Event Grid.

Notes

Pour obtenir les meilleures performances avec la connexion Event Grid, définissez la propriété d’ingestion rawSizeBytes via les métadonnées d’objet blob. Pour plus d’informations, consultez Propriétés d’ingestion.

Prérequis

Créer une connexion de données à Event Grid

Dans cette section, vous établissez une connexion entre Event Grid et votre table Azure Data Explorer.

  1. Accédez à votre cluster Azure Data Explorer dans le Portail Azure.

  2. Sous Données, sélectionnez Bases de données>TestBase de données.

    Capture d’écran de la section base de données du cluster montrant la liste des bases de données qu’il contient.

  3. Sous Paramètres, sélectionnez Connexions de données, puis Ajouter une connexion> de donnéesEvent Grid (Stockage Blob).

    Capture d’écran de la page connexions de données. L’option permettant d’ajouter une connexion de données est mise en surbrillance.

  4. Remplissez le formulaire de connexion de données Event Grid avec les informations suivantes :

    Capture d’écran du volet Event Grid montrant les détails de la connexion de données.

    Paramètre Valeur suggérée Description du champ
    Nom de la connexion de données test-grid-connection Nom de la connexion que vous souhaitez créer dans Azure Data Explorer. Les noms de connexion de données ne peuvent contenir que des caractères alphanumériques, tirets et points, et comporter jusqu’à 40 caractères.
    Abonnement du compte de stockage Votre ID d’abonnement ID d’abonnement où se trouve votre compte de stockage.
    Type d'événement Objet blob créé ou Objet blob renommé Type d’événement qui déclenche l’ingestion. Le renommage d’objets blob est pris en charge uniquement pour le stockage ADLSv2. Pour renommer un objet blob, accédez à l’objet blob dans Portail Azure, cliquez avec le bouton droit sur l’objet blob et sélectionnez Renommer. Types pris en charge : Microsoft.Storage.BlobCreated ou Microsoft.Storage.BlobRenamed.
    Compte de stockage gridteststorage1 Nom du compte de stockage que vous avez créé précédemment.
    Création de ressources Automatique L’activation de la création automatique des ressources signifie qu’Azure Data Explorer crée un abonnement Event Grid, un espace de noms Event Hubs et un Event Hubs pour vous. Sinon, vous devez créer ces ressources manuellement pour garantir la création de la connexion de données. Consultez Créer manuellement des ressources pour l’ingestion d’Event Grid.
    1. Si vous le souhaitez, vous pouvez suivre des sujets Event Grid spécifiques. Définissez les filtres pour les notifications comme suit :

      • Le champ Préfixe est le préfixe littéral du sujet. Lorsque le modèle appliqué commence par, il peut s’étendre sur plusieurs conteneurs, dossiers ou objets blob. Les caractères génériques ne sont pas autorisés.
        • Pour définir un filtre sur le conteneur d’objets blob, le champ doit être défini comme suit : .
        • Pour définir un filtre sur un préfixe d’objet blob (ou un dossier dans Azure Data Lake Gen2), le champ doit être défini comme suit : .
      • Le champ Suffixe est le suffixe littéral de l’objet blob. Les caractères génériques ne sont pas autorisés.
      • Le champ Sensible à la casse indique si les filtres de préfixe et de suffixe respectent la casse.

      Pour plus d’informations sur le filtrage des événements, consultez Événements de stockage Blob.

    2. Si vous le souhaitez, vous pouvez spécifier les paramètres de routage des données en fonction des informations suivantes. Vous n’avez pas à spécifier tous les paramètres de routage des données. Des paramètres partiels sont également acceptés.

      Paramètre Valeur suggérée Description du champ
      Autoriser le routage des données vers d’autres bases de données (connexion de données à plusieurs bases de données) Ne pas autoriser Activez cette option si vous souhaitez remplacer la base de données cible par défaut associée à la connexion de données. Pour plus d’informations sur le routage de base de données, consultez Routage des événements.
      Nom de la table TestTable Table que vous avez créée dans TestDatabase.
      Format de données JSON Les formats pris en charge sont APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT et W3CLOG. Les options de compression prises en charge sont Zip et Gzip.
      Nom du mappage TestTable_mapping Mappage que vous avez créé dans TestDatabase, qui mappe les données entrantes aux noms de colonnes et aux types de données de TestTable. S’il n’est pas spécifié, un mappage de données d’identité dérivé du schéma de la table est généré automatiquement.
      Ignorer les erreurs de format Ignorer Activez cette option si vous souhaitez ignorer les erreurs de format pour le format de données JSON.

      Notes

      Les noms de table et de mappage respectent la casse.

    3. Si vous le souhaitez, sous Paramètres avancés, vous pouvez spécifier le type d’identité managée utilisé par votre connexion de données. Par défaut, l’option Affectée par le système est sélectionnée.

      Si vous sélectionnez Affecté par l’utilisateur, vous devez affecter manuellement une identité managée. Si vous sélectionnez un utilisateur qui n’est pas encore affecté à votre cluster, il sera automatiquement affecté. Pour plus d’informations, consultez Configurer des identités managées pour votre cluster Azure Data Explorer.

      Si vous sélectionnez Aucun, le compte de stockage et Event Hub sont authentifiés via des chaînes de connexion. Cette méthode n’est pas recommandée.

      Capture d’écran de la section paramètres avancés montrant les types d’identité managée qui peuvent être utilisés pour la connexion de données.

  5. Sélectionnez Créer

Utiliser la connexion de données Event Grid

Cette section montre comment déclencher l’ingestion de Stockage Blob Azure ou d’Azure Data Lake Gen 2 vers votre cluster après la création d’objets blob ou le renommage d’objets blob.

Sélectionnez l’onglet approprié en fonction du type de kit de développement logiciel (SDK) de stockage utilisé pour charger des objets blob.

L’exemple de code suivant utilise le Kit de développement logiciel (SDK) Stockage Blob Azure pour charger un fichier sur Stockage Blob Azure. Le chargement déclenche la connexion de données Event Grid, qui ingère les données dans 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);

Notes

Azure Data Explorer ne supprimera pas les objets blob après l’ingestion. Conservez les blobs pendant trois à cinq jours en utilisant le cycle de vie du Stockage Blob Azure pour gérer la suppression des blobs.

Notes

Le déclenchement de l’ingestion à la suite d’une CopyBlob opération n’est pas pris en charge pour les comptes de stockage dont la fonctionnalité d’espace de noms hiérarchique est activée.

Supprimer une connexion de données Event Grid

Pour supprimer la connexion Event Grid du Portail Azure, procédez comme suit :

  1. Accédez à votre cluster. Dans le menu de gauche, sélectionnez Bases de données. Sélectionnez ensuite la base de données qui contient la table cible.
  2. Dans le menu de gauche, sélectionnez Connexions de données. Ensuite, cochez la case en regard de la connexion de données Event Grid appropriée.
  3. Dans la barre de menus supérieure, sélectionnez Supprimer.