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
- Subskrypcja platformy Azure. Utwórz bezpłatne konto platformy Azure.
- Baza danych i klaster usługi Azure Data Explorer. Utwórz klaster i bazę danych.
- Tabela docelowa. Utwórz tabelę lub użyj istniejącej tabeli.
- Mapowanie pozyskiwania dla tabeli.
- Konto magazynu. Subskrypcję powiadomień usługi Event Grid można ustawić na kontach usługi Azure Storage dla
BlobStorage
usługi ,StorageV2
lub Usługi Data Lake Storage Gen2. - Zarejestrować dostawcę zasobów usługi Event Grid.
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.
Przejdź do klastra usługi Azure Data Explorer w witrynie Azure Portal.
W obszarze Dane wybierz pozycję Bazy danych>TestDatabase.
W obszarze Ustawienia wybierz pozycję Połączenia danych, a następnie wybierz pozycję Dodaj połączenie>danych Event Grid (Blob Storage).
Wypełnij formularz połączenia danych usługi Event Grid, korzystając z następujących informacji:
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 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]
.
- Aby zdefiniować filtr w kontenerze obiektów blob, należy ustawić pole w następujący sposób:
- 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.
- 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.
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.
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.
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:
- Przejdź do klastra. W menu po lewej stronie wybierz pozycję Bazy danych. Następnie wybierz bazę danych zawierającą tabelę docelową.
- W menu po lewej stronie wybierz pozycję Połączenia danych. Następnie zaznacz pole wyboru obok odpowiedniego połączenia danych usługi Event Grid.
- Na górnym pasku menu wybierz pozycję Usuń.