Udostępnij za pośrednictwem


Połączenie danych usługi Event Hubs (wersja zapoznawcza)

Ważne

Eksplorator danych usługi Azure Synapse Analytics (wersja zapoznawcza) zostanie wycofany 7 października 2025 r. Po tej dacie obciążenia uruchomione w usłudze Synapse Data Explorer zostaną usunięte, a skojarzone dane aplikacji zostaną utracone. Zdecydowanie zalecamy migrację do usługi Eventhouse w usłudze Microsoft Fabric.

Program Microsoft Cloud Migration Factory (CMF) ma na celu pomoc klientom w migracji do sieci szkieletowej. Program oferuje praktyczne zasoby klawiaturowe bez ponoszenia kosztów dla klienta. Te zasoby są przypisywane przez okres 6–8 tygodni ze wstępnie zdefiniowanym i uzgodnionym zakresem. Nominacje klientów są akceptowane przez zespół ds. kont Microsoft lub bezpośrednio, przesyłając wniosek o pomoc zespołowi CMF.

Azure Event Hubs to platforma strumieniowego przesyłania dużych zbiorów danych oraz usługa do obsługi zdarzeń. Usługa Azure Synapse Data Explorer oferuje ciągłe ingestowanie danych z usługi Event Hubs zarządzanej przez klienta.

Potok przetwarzania w usłudze Event Hubs przesyła zdarzenia do usługi Azure Synapse Data Explorer w kilku krokach. Najpierw utworzysz usługę Event Hubs w witrynie Azure Portal. Następnie utworzysz tabelę docelową w eksploratorze danych usługi Azure Synapse, w którym dane w określonym formacie zostaną pozyskane przy użyciu podanych właściwości pozyskiwania. Połączenie usługi Event Hubs musi znać trasowanie zdarzeń. Dane są osadzone z wybranymi właściwościami zgodnie z mapowaniem właściwości systemu zdarzeń. Utwórz połączenie z usługą Event Hubs w celu utworzenia usługi Event Hubs i wysyłania zdarzeń. Ten proces można zarządzać za pośrednictwem witryny Azure Portal, programowo za pomocą języka C# lub Python albo szablonu usługi Azure Resource Manager.

Aby uzyskać ogólne informacje na temat pozyskiwania danych w usłudze Azure Synapse Data Explorer, zobacz Omówienie pozyskiwania danych w usłudze Azure Synapse Data Explorer.

Format danych

  • Dane są odczytywane z usługi Event Hubs w postaci obiektów EventData .

  • Zobacz obsługiwane formaty.

    Uwaga

    Centrum zdarzeń nie obsługuje formatu .raw.

  • Dane można kompresować przy użyciu algorytmu GZip kompresji. Określ Compression właściwości pozyskiwania.

    • Kompresja danych nie jest obsługiwana w przypadku skompresowanych formatów (Avro, Parquet, ORC).
    • Niestandardowe kodowanie i osadzone właściwości systemu nie są obsługiwane w przypadku skompresowanych danych.

Właściwości pozyskiwania

Właściwości pozyskiwania intruują proces pozyskiwania, gdzie kierować dane i jak je przetwarzać. Można określić właściwości pozyskiwania zdarzeń przy użyciu właściwości EventData.Properties. Można ustawić następujące właściwości:

Nieruchomość opis
Tabela Nazwa (uwzględniana wielkość liter) istniejącej tabeli docelowej. Zastępuje ustawienie w okienku TableData Connection.
Formatuj Format danych. Zastępuje ustawienie w okienku Data formatData Connection.
IngestionMappingReference Nazwa istniejącego mapowania danych, które ma zostać użyte. Zastępuje ustawienie w okienku Column mappingData Connection.
Kompresja Kompresja danych, None (wartość domyślna) lub GZip kompresja.
Kodowanie Kodowanie danych, wartość domyślna to UTF8. Może być dowolnym z obsługiwanych kodowań platformy .NET.
Tagi Lista tagów do skojarzenia z pozyskanymi danymi sformatowana jako ciąg tablicy JSON. W przypadku używania tagów występują konsekwencje dotyczące wydajności.

Uwaga

Tylko zdarzenia wprowadzone do kolejki po utworzeniu połączenia danych są przetwarzane.

Routing zdarzeń

Podczas konfigurowania połączenia usługi Event Hubs z klastrem usługi Azure Synapse Data Explorer należy określić właściwości tabeli docelowej (nazwa tabeli, format danych, kompresja i mapowanie). Domyślny routing danych jest również określany jako static routing. Można również określić właściwości tabeli docelowej dla każdego zdarzenia przy użyciu właściwości zdarzenia. Połączenie będzie dynamicznie kierować dane, jak określono w EventData.Properties, zastępując właściwości statyczne związane z tym zdarzeniem.

W poniższym przykładzie ustaw szczegóły usługi Event Hubs i wyślij dane metryk pogody do tabeli WeatherMetrics. Dane są w json formacie. mapping1 element jest wstępnie zdefiniowany w tabeli WeatherMetrics.

Ostrzeżenie

W tym przykładzie użyto uwierzytelniania za pomocą łańcucha połączenia, aby nawiązać połączenie z Event Hubs dla uproszczenia przykładu. Jednakże bezpośrednie wpisywanie łańcucha połączenia do skryptu wymaga bardzo wysokiego poziomu zaufania do aplikacji i niesie ze sobą zagrożenia związane z bezpieczeństwem.

W przypadku długoterminowych, bezpiecznych rozwiązań użyj jednej z następujących opcji:

var eventHubNamespaceConnectionString=<connection_string>;
var eventHubName=<event_hub>;

// Create the data
var metric = new Metric { Timestamp = DateTime.UtcNow, MetricName = "Temperature", Value = 32 }; 
var data = JsonConvert.SerializeObject(metric);

// Create the event and add optional "dynamic routing" properties
var eventData = new EventData(Encoding.UTF8.GetBytes(data));
eventData.Properties.Add("Table", "WeatherMetrics");
eventData.Properties.Add("Format", "json");
eventData.Properties.Add("IngestionMappingReference", "mapping1");
eventData.Properties.Add("Tags", "['mydatatag']");

// Send events
var eventHubClient = EventHubClient.CreateFromConnectionString(eventHubNamespaceConnectionString, eventHubName);
eventHubClient.Send(eventData);
eventHubClient.Close();

Mapowanie właściwości systemu zdarzeń

Właściwości systemowe przechowują właściwości ustawiane przez usługę Event Hubs w momencie dodawania zdarzenia do kolejki. Połączenie Event Hubs w usłudze Azure Synapse Data Explorer spowoduje osadzenie wybranych właściwości w danych w twojej tabeli.

Uwaga

  • Właściwości systemu są obsługiwane dla json i formatów tabelarycznych (csv, tsv itp.) i nie są obsługiwane dla skompresowanych danych. W przypadku korzystania z nieobsługiwanego formatu dane będą nadal pozyskiwane, ale właściwości zostaną zignorowane.
  • W przypadku danych tabelarycznych właściwości systemu są obsługiwane tylko w przypadku komunikatów zdarzeń z pojedynczym rekordem.
  • W przypadku danych JSON właściwości systemu są również obsługiwane w przypadku komunikatów zdarzeń z wieloma rekordami. W takich przypadkach właściwości systemu są dodawane tylko do pierwszego rekordu komunikatu zdarzenia.
  • W przypadku csv mapowania właściwości są dodawane na początku rekordu w kolejności wymienionej w tabeli właściwości systemu.
  • W przypadku json mapowania właściwości są dodawane zgodnie z nazwami właściwości w tabeli Właściwości Systemu.

Właściwości systemu

Usługa Event Hubs uwidacznia następujące właściwości systemowe:

Nieruchomość Typ danych opis
x-opt-czas w kolejce data i czas Czas UTC, kiedy zdarzenie zostało zakolejkowane
numer-sekwencji-x-opt długi Numer sekwencji logicznej zdarzenia w strumieniu partycji usługi Event Hubs
przesunięcie x-opt-offset sznurek Przesunięcie zdarzenia ze strumienia partycji usługi Event Hubs. Identyfikator przesunięcia jest unikatowy w ramach partycji strumienia usługi Event Hubs
x-opt-publisher (wydawca x-opt) sznurek Nazwa wydawcy, jeśli wiadomość została wysłana do punktu końcowego wydawcy
x-opt-partition-key (klucz partycji opcji) sznurek Klucz partycji odpowiadającej partycji, która przechowywała zdarzenie

W przypadku wybrania właściwości systemu zdarzeń w sekcji Źródło danych tabeli należy uwzględnić właściwości w schemacie tabeli i mapowaniu.

Przykłady mapowania schematu

Przykład mapowania schematu tabeli

Jeśli twoje dane zawierają trzy kolumny (Timespan, Metric i Value), a właściwości, które uwzględniasz, to x-opt-enqueued-time i x-opt-offset, utwórz lub zmień schemat tabeli, używając tego polecenia:

    .create-merge table TestTable (TimeStamp: datetime, Metric: string, Value: int, EventHubEnqueuedTime:datetime, EventHubOffset:string)

Przykład mapowania CSV

Uruchom następujące polecenia, aby dodać dane na początku rekordu. Zapisz wartości porządkowe.

    .create table TestTable ingestion csv mapping "CsvMapping1"
    '['
    '   { "column" : "Timespan", "Properties":{"Ordinal":"2"}},'
    '   { "column" : "Metric", "Properties":{"Ordinal":"3"}},'
    '   { "column" : "Value", "Properties":{"Ordinal":"4"}},'
    '   { "column" : "EventHubEnqueuedTime", "Properties":{"Ordinal":"0"}},'
    '   { "column" : "EventHubOffset", "Properties":{"Ordinal":"1"}}'
    ']'

Przykład mapowania JSON

Dane są dodawane przy użyciu mapowania właściwości systemowych. Uruchom te polecenia:

    .create table TestTable ingestion json mapping "JsonMapping1"
    '['
    '    { "column" : "Timespan", "Properties":{"Path":"$.timestamp"}},'
    '    { "column" : "Metric", "Properties":{"Path":"$.metric"}},'
    '    { "column" : "Value", "Properties":{"Path":"$.value"}},'
    '    { "column" : "EventHubEnqueuedTime", "Properties":{"Path":"$.x-opt-enqueued-time"}},'
    '    { "column" : "EventHubOffset", "Properties":{"Path":"$.x-opt-offset"}}'
    ']'

Połączenie usługi Event Hubs

Uwaga

Aby uzyskać najlepszą wydajność, utwórz wszystkie zasoby w tym samym regionie co klaster usługi Azure Synapse Data Explorer.

Tworzenie usługi Event Hubs

Jeśli jeszcze go nie masz, utwórz usługę Event Hubs. Nawiązywanie połączenia z usługą Event Hubs można zarządzać za pośrednictwem witryny Azure Portal, programowo za pomocą języka C# lub Python albo za pomocą szablonu usługi Azure Resource Manager.

Uwaga

  • Liczba partycji nie jest zmienialna, dlatego podczas ustawiania liczby partycji należy rozważyć długoterminową skalę.
  • Grupa konsumentów musi być unikatowa dla każdego konsumenta. Utwórz grupę odbiorców dedykowaną połączeniu usługi Azure Synapse Data Explorer.

Wysyłanie zdarzeń

Zobacz przykładową aplikację , która generuje dane i wysyła je do usługi Event Hubs.

Aby zapoznać się z przykładem generowania przykładowych danych, zobacz Pozyskiwanie danych z usługi Event Hubs do usługi Azure Synapse Data Explorer

Skonfiguruj rozwiązanie do odzyskiwania po awarii geograficznej

Usługa Event Hubs oferuje rozwiązanie odzyskiwania po awarii geograficznej. Usługa Azure Synapse Data Explorer nie obsługuje Alias przestrzeni nazw usługi Event Hubs. Aby zaimplementować odzyskiwanie danych po katastrofie geograficznej w rozwiązaniu, utwórz dwa połączenia danych usługi Event Hubs: jedno dla podstawowej przestrzeni nazw i jedno dla pomocniczej przestrzeni nazw. Usługa Azure Synapse Data Explorer nasłuchuje obu połączeń usługi Event Hubs.

Uwaga

Użytkownik jest odpowiedzialny za wdrożenie mechanizmu przełączania awaryjnego z podstawowej przestrzeni nazw do pomocniczej przestrzeni nazw.

Następne kroki