Megosztás a következőn keresztül:


Event Hub-adatkapcsolat (előzetes verzió)

Azure Event Hubs egy big data streamelési platform és eseménybetöltési szolgáltatás. Azure Synapse Data Explorer folyamatos betöltést biztosít az ügyfél által felügyelt Event Hubsból.

Az Event Hub betöltési folyamata több lépésben továbbítja az eseményeket Azure Synapse Data Explorer. Először létre kell hoznia egy eseményközpontot a Azure Portal. Ezután létrehoz egy céltáblát Azure Synapse Data Explorer, amelybe az adatok egy adott formátumban kerülnek betöltésre a megadott betöltési tulajdonságok használatával. Az Event Hub-kapcsolatnak ismernie kell az események útválasztását. Az adatok az eseményrendszer tulajdonságainak leképezése alapján vannak beágyazva a kiválasztott tulajdonságokba. Hozzon létre egy kapcsolatot az Event Hubbal egy eseményközpont létrehozásához és az események elküldéséhez. Ez a folyamat a Azure Portal keresztül kezelhető, programozott módon C# vagy Python használatával, vagy az Azure Resource Manager sablonnal.

A Azure Synapse Data Explorer adatbetöltésével kapcsolatos általános információkért lásd: Azure Synapse Data Explorer adatbetöltés áttekintése.

Adatformátum

Betöltési tulajdonságok

A betöltési tulajdonságok útmutatást adnak a betöltési folyamathoz, az adatok átirányításához és feldolgozásának módjához. Az eventdata.properties paranccsal megadhatja az eseménybetöltés betöltési tulajdonságait. A következő tulajdonságokat állíthatja be:

Tulajdonság Leírás
Tábla A meglévő céltábla neve (kis- és nagybetűk megkülönböztetése). Felülbírálja a Table panelen lévő készletet Data Connection .
Formátum Adatformátum. Felülbírálja a Data format panelen lévő készletet Data Connection .
IngestionMappingReference A használni kívánt meglévő betöltési leképezés neve. Felülbírálja a Column mapping panelen lévő készletet Data Connection .
Tömörítés Adattömörítés ( None alapértelmezett) vagy GZip tömörítés.
Encoding Adatkódolás, az alapértelmezett érték az UTF8. A .NET által támogatott kódolások bármelyike lehet.
Címkék A betöltött adatokhoz társítandó címkék listája, JSON-tömbsztringként formázva. A címkék használata teljesítménybeli következményekkel jár .

Megjegyzés

Csak az adatkapcsolat létrehozása után leküldett események vannak betöltve.

Események útválasztása

Amikor eseményközpont-kapcsolatot állít be Azure Synapse Data Explorer fürthöz, meg kell adnia a céltábla tulajdonságait (táblanév, adatformátum, tömörítés és leképezés). Az adatok alapértelmezett útválasztását a rendszer a következőnek is nevezi static routing: . Az eseménytulajdonságok használatával megadhatja az egyes események céltábla-tulajdonságait is. A kapcsolat dinamikusan irányítja az adatokat az EventData.Properties fájlban megadott módon, felülírva az esemény statikus tulajdonságait.

Az alábbi példában állítsa be az Event Hub adatait, és küldje el az időjárási metrikák adatait a táblába WeatherMetrics. Az adatok formátuma json . mapping1 előre definiálva van a táblában WeatherMetrics.

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

Eseményrendszer tulajdonságainak leképezése

A rendszertulajdonságok az Event Hubs szolgáltatás által az esemény leküldésekor beállított tulajdonságokat tárolják. A Azure Synapse Data Explorer Event Hub-kapcsolat beágyazza a kiválasztott tulajdonságokat a táblában lévő adatleszállóba.

Megjegyzés

  • A rendszertulajdonságok támogatottak json és táblázatos formátumok (csvtsvstb.), és a tömörített adatok esetében nem támogatottak. Ha nem támogatott formátumot használ, az adatok továbbra is be lesznek betöltve, de a tulajdonságok figyelmen kívül lesznek hagyva.
  • Táblázatos adatok esetén a rendszertulajdonságok csak egyrekordos eseményüzenetekhez támogatottak.
  • JSON-adatok esetén a rendszertulajdonságok többrekordos eseményüzenetekhez is támogatottak. Ilyen esetekben a rendszertulajdonságok csak az eseményüzenet első rekordjára lesznek hozzáadva.
  • A leképezéshez csv a rendszer a rekord elején, a Rendszertulajdonságok táblában felsorolt sorrendben adja hozzá a tulajdonságokat.
  • A leképezéshez json a rendszer a Rendszertulajdonságok táblában szereplő tulajdonságnevek alapján adja hozzá a tulajdonságokat.

Rendszertulajdonságok

Az Event Hub a következő rendszertulajdonságokat teszi elérhetővé:

Tulajdonság Adattípus Leírás
x-opt-enqueued-time dátum/idő Az esemény leküldésének időpontja (UTC)
x-opt-sequence-number hosszú Az esemény logikai sorszáma az Event Hub partícióstreamében
x-opt-offset sztring Az esemény eltolása az Event Hub partícióstreaméből. Az eltolás azonosítója egyedi az Event Hub-stream partíciójában
x-opt-publisher sztring A közzétevő neve, ha az üzenetet egy közzétevő végpontjára küldték
x-opt-partition-key sztring Az eseményt tároló megfelelő partíció partíciókulcsa

Ha a tábla Adatforrás szakaszában az Eseményrendszer tulajdonságai lehetőséget választotta, a tulajdonságokat bele kell foglalnia a tábla sémába és leképezésbe.

Sémaleképezési példák

Példa táblaséma-leképezésre

Ha az adatok három oszlopot (Timespan, , és Value) tartalmaznak, Metricvalamint az és x-opt-offseta tulajdonságot, x-opt-enqueued-time hozza létre vagy módosítsa a táblázatsémát az alábbi paranccsal:

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

PÉLDA CSV-leképezésre

Az alábbi parancsok futtatásával adja hozzá az adatokat a rekord elejéhez. Jegyezze fel a sorszámértékeket.

    .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"}}'
    ']'

Példa JSON-leképezésre

Az adatok hozzáadása a rendszertulajdonságok leképezésével történik. Futtassa a következő parancsokat:

    .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"}}'
    ']'

Event Hub-kapcsolat

Megjegyzés

A legjobb teljesítmény érdekében hozzon létre minden erőforrást ugyanabban a régióban, mint a Azure Synapse Data Explorer fürt.

Eseményközpont létrehozása

Ha még nincs ilyenje, hozzon létre egy eseményközpontot. Az Event Hubhoz való csatlakozás a Azure Portal keresztül, programozott módon, C# vagy Python használatával vagy az Azure Resource Manager sablonnal kezelhető.

Megjegyzés

  • A partíciók száma nem módosítható, ezért érdemes megfontolni a hosszú távú skálázást a partíciószám beállításakor.
  • A fogyasztói csoportnak fogyasztónként egyedinek kell lennie. Hozzon létre egy Azure Synapse Data Explorer kapcsolathoz dedikált fogyasztói csoportot.

Események küldése

Tekintse meg azt a mintaalkalmazást , amely adatokat hoz létre, és elküldi azokat egy eseményközpontnak.

Példa a mintaadatok létrehozására: Adatok betöltése az Event Hubból a Azure Synapse Data Explorer

Georedundáns vészhelyreállítási megoldás beállítása

Az Event Hub georedundáns helyreállítási megoldást kínál. Azure Synapse Data Explorer nem támogatja Alias az Event Hub-névtereket. A georedundáns helyreállítás megoldásban való implementálásához hozzon létre két Event Hub-adatkapcsolatot: egyet az elsődleges névtérhez, egyet pedig a másodlagos névtérhez. Azure Synapse Data Explorer mindkét Event Hub-kapcsolatot meghallgatja.

Megjegyzés

A felhasználó felelőssége, hogy feladatátvételt hajtson végre az elsődleges névtérről a másodlagos névtérre.

Következő lépések