Udostępnij za pośrednictwem


Tworzenie połączenia danych usługi Event Grid dla usługi Azure Data Explorer

Z tego artykułu dowiesz się, jak pozyskiwać obiekty blob z konta magazynu do usługi Azure Data Explorer przy użyciu połączenia danych usługi Event Grid. Utworzysz połączenie danych usługi Event Grid, które ustawia subskrypcję usługi Azure Event Grid . Subskrypcja usługi Event Grid kieruje zdarzenia z konta magazynu do usługi Azure Data Explorer za pośrednictwem usługi Azure Event Hubs.

Uwaga

Maksymalny rozmiar pliku obsługiwany w pozyskiwaniu wynosi 6 GB. Zaleceniem jest pozyskiwanie plików z zakresu od 100 MB do 1 GB.

Aby dowiedzieć się, jak utworzyć połączenie przy użyciu zestawów SDK usługi Kusto, zobacz Tworzenie połączenia danych usługi Event Grid z zestawami SDK.

Aby uzyskać ogólne informacje na temat pozyskiwania do usługi Azure Data Explorer z usługi Event Grid, zobacz Nawiązywanie połączenia z usługą Event Grid.

Uwaga

Aby uzyskać najlepszą wydajność połączenia usługi Event Grid, ustaw rawSizeBytes właściwość pozyskiwania za pośrednictwem metadanych obiektu blob. Aby uzyskać więcej informacji, zobacz właściwości pozyskiwania.

Wymagania wstępne

Tworzenie połączenia danych usługi Event Grid

W tej sekcji ustanowisz połączenie między usługą Event Grid i tabelą usługi Azure Data Explorer.

  1. Przejdź do klastra usługi Azure Data Explorer w witrynie Azure Portal.

  2. W obszarze Dane wybierz pozycję Bazy danych>TestDatabase.

    Zrzut ekranu przedstawiający sekcję bazy danych klastra zawierającą listę baz danych.

  3. W obszarze Ustawienia wybierz pozycję Połączenia danych, a następnie wybierz pozycję Dodaj połączenie>danych Event Grid (Blob Storage).

    Zrzut ekranu przedstawiający stronę połączeń danych. Opcja dodawania połączenia danych jest wyróżniona.

  4. Wypełnij formularz połączenia danych usługi Event Grid, korzystając z następujących informacji:

    Zrzut ekranu przedstawiający okienko usługi Event Grid przedstawiające szczegóły połączenia danych.

    Ustawienie Sugerowana wartość Opis pola
    Nazwa połączenia danych test-grid-connection Nazwa połączenia, które chcesz utworzyć w usłudze Azure Data Explorer. Nazwy połączeń danych mogą zawierać tylko znaki alfanumeryczne, kreska i kropka oraz maksymalnie 40 znaków.
    Subskrypcja konta magazynu Identyfikator Twojej subskrypcji Identyfikator subskrypcji, w której znajduje się twoje konto magazynu.
    Typ zdarzenia Utworzono obiekt blob lub zmieniono nazwę obiektu blob Typ zdarzenia wyzwalającego pozyskiwanie. Zmiana nazwy obiektu blob jest obsługiwana tylko w przypadku magazynu ADLSv2. Aby zmienić nazwę obiektu blob, przejdź do obiektu blob w witrynie Azure Portal, kliknij prawym przyciskiem myszy obiekt blob i wybierz polecenie Zmień nazwę. Obsługiwane typy to: Microsoft.Storage.BlobCreated lub Microsoft.Storage.BlobRenamed.
    Konto magazynu gridteststorage1 Nazwa utworzonego wcześniej konta magazynu.
    Tworzenie zasobów Automatyczna Włączenie automatycznego tworzenia zasobów oznacza, że usługa Azure Data Explorer tworzy subskrypcję usługi Event Grid, przestrzeń nazw usługi Event Hubs i usługę Event Hubs. W przeciwnym razie należy ręcznie utworzyć te zasoby, aby zapewnić utworzenie połączenia danych. Zobacz Ręczne tworzenie zasobów na potrzeby pozyskiwania usługi Event Grid
    1. Opcjonalnie możesz śledzić określone tematy usługi Event Grid. Filtry dla powiadomień ustaw w następujący sposób:

      • Pole prefiksu jest prefiksem literału tematu. W miarę rozpoczynania się od zastosowanego wzorca może obejmować wiele kontenerów, folderów lub obiektów blob. Symbole wieloznaczne nie są dozwolone.
        • Aby zdefiniować filtr w kontenerze obiektów blob, należy ustawić pole w następujący sposób: /blobServices/default/containers/[container prefix].
        • Aby zdefiniować filtr prefiksu obiektu blob (lub folderu w usłudze Azure Data Lake Gen2), pole musi być ustawione w następujący sposób: /blobServices/default/containers/[container name]/blobs/[folder/blob prefix].
      • Pole sufiksu jest sufiksem literału obiektu blob. Symbole wieloznaczne nie są dozwolone.
      • Pole Wrażliwe na wielkość liter wskazuje, czy w filtrach prefiksu i sufiksu uwzględniana jest wielkość liter

      Aby uzyskać więcej informacji na temat filtrowania zdarzeń, zobacz Zdarzenia usługi Blob Storage.

    2. Opcjonalnie możesz określić ustawienia routingu danych zgodnie z poniższymi informacjami. Nie musisz określać wszystkich ustawień routingu danych. Ustawienia częściowe są również akceptowane.

      Ustawienie Sugerowana wartość Opis pola
      Zezwalaj na kierowanie danych do innych baz danych (połączenie danych z wieloma bazami danych) Nie zezwalaj Włącz tę opcję, jeśli chcesz zastąpić domyślną docelową bazę danych skojarzona z połączeniem danych. Aby uzyskać więcej informacji na temat routingu bazy danych, zobacz Routing zdarzeń.
      Nazwa tabeli TestTable Tabela utworzona przez Ciebie w obszarze TestDatabase.
      Format danych JSON Obsługiwane formaty to APACHEAVRO, Avro, CSV, JSON, ORC, PARQUET, PSV, RAW, SCSV, SOHSV, TSV, TSVE, TXT i W3CLOG. Obsługiwane opcje kompresji to zip i gzip.
      Nazwa mapowania TestTable_mapping Mapowanie utworzone w bazie danych TestDatabase, które mapuje dane przychodzące na nazwy kolumn i typy danych tabeli TestTable. Jeśli nie zostanie określony, mapowanie danych tożsamości pochodzące ze schematu tabeli jest generowane automatycznie.
      Ignoruj błędy formatu Ignorować Włącz tę opcję, jeśli chcesz zignorować błędy formatu dla formatu danych JSON.

      Uwaga

      W nazwach tabel i mapowań jest rozróżniana wielkość liter.

    3. Opcjonalnie w obszarze Ustawienia zaawansowane można określić typ tożsamości zarządzanej używany przez połączenie danych. Domyślnie jest wybierana opcja Przypisana przez system.

      W przypadku wybrania pozycji Przypisane przez użytkownika należy ręcznie przypisać tożsamość zarządzaną. Jeśli wybierzesz użytkownika, który nie jest jeszcze przypisany do klastra, zostanie on automatycznie przypisany. Aby uzyskać więcej informacji, zobacz Konfigurowanie tożsamości zarządzanych dla klastra usługi Azure Data Explorer.

      W przypadku wybrania opcji Brak konto magazynu i centrum zdarzeń są uwierzytelniane za pośrednictwem parametry połączenia s. Ta metoda nie jest zalecana.

      Zrzut ekranu przedstawiający sekcję ustawień zaawansowanych z typami tożsamości zarządzanych, których można użyć na potrzeby połączenia danych.

  5. Wybierz pozycję Utwórz

Korzystanie z połączenia danych usługi Event Grid

W tej sekcji pokazano, jak wyzwolić pozyskiwanie z usługi Azure Blob Storage lub Azure Data Lake Gen 2 do klastra po utworzeniu obiektu blob lub zmianie nazwy obiektu blob.

Wybierz odpowiednią kartę na podstawie typu zestawu SDK magazynu używanego do przekazywania obiektów blob.

Poniższy przykładowy kod używa zestawu SDK usługi Azure Blob Storage do przekazania pliku do usługi Azure Blob Storage. Przekazywanie wyzwala połączenie danych usługi Event Grid, które pozyskuje dane do usługi 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);

Uwaga

Usługa Azure Data Explorer nie usunie obiektów blob po pozyskaniu. Zachowaj obiekty blob przez od trzech do pięciu dni przy użyciu cyklu życia usługi Azure Blob Storage, aby zarządzać usuwaniem obiektów blob.

Uwaga

Wyzwalanie pozyskiwania po CopyBlob operacji nie jest obsługiwane w przypadku kont magazynu z włączoną funkcją hierarchicznej przestrzeni nazw.

Ważne

Zdecydowanie odradzamy generowanie zdarzeń magazynu z niestandardowego kodu i wysyłanie ich do usługi Event Hubs. Jeśli zdecydujesz się to zrobić, upewnij się, że zdarzenia generowane ściśle są zgodne ze specyfikacjami odpowiedniego schematu zdarzeń magazynu i formatu JSON.

Usuwanie połączenia danych usługi Event Grid

Aby usunąć połączenie usługi Event Grid z witryny Azure Portal, wykonaj następujące czynności:

  1. Przejdź do klastra. W menu po lewej stronie wybierz pozycję Bazy danych. Następnie wybierz bazę danych zawierającą tabelę docelową.
  2. W menu po lewej stronie wybierz pozycję Połączenia danych. Następnie zaznacz pole wyboru obok odpowiedniego połączenia danych usługi Event Grid.
  3. Na górnym pasku menu wybierz pozycję Usuń.