Sdílet prostřednictvím


Datové připojení centra událostí (Preview)

Azure Event Hubs je platforma pro streamování velkých objemů dat a služba pro příjem událostí. Azure Synapse Data Explorer nabízí nepřetržitý příjem dat ze služby Event Hubs spravované zákazníkem.

Kanál příjmu dat centra událostí přenáší události do Azure Synapse Data Explorer v několika krocích. Nejprve vytvoříte centrum událostí v Azure Portal. Potom vytvoříte cílovou tabulku v Azure Synapse Data Explorer, do které se budou ingestovat data v určitém formátu pomocí daných vlastností příjmu dat. Připojení centra událostí potřebuje znát směrování událostí. Data jsou vložena s vybranými vlastnostmi podle mapování vlastností systému událostí. Vytvořte připojení k centru událostí, abyste vytvořili centrum událostí a odesílali události. Tento proces je možné spravovat prostřednictvím Azure Portal, programově v jazyce C# nebo Python nebo pomocí šablony Azure Resource Manager.

Obecné informace o příjmu dat v Azure Synapse Data Explorer najdete v tématu přehled příjmu dat Azure Synapse Data Explorer.

Formát dat

  • Data se načítají z centra událostí ve formě objektů EventData .

  • Podívejte se na podporované formáty.

    Poznámka

    Centrum událostí nepodporuje formát .raw.

  • Data je možné komprimovat pomocí kompresního GZip algoritmu. Zadejte Compression ve vlastnostech příjmu dat.

    • Komprese dat se nepodporuje u komprimovaných formátů (Avro, Parquet, ORC).
    • U komprimovaných dat se nepodporuje vlastní kódování a vložené systémové vlastnosti .

Vlastnosti příjmu dat

Vlastnosti příjmu dat instruují proces příjmu dat, kam se mají data směrovat a jak je zpracovat. Vlastnosti příjmu událostí můžete zadat pomocí eventData.Properties. Můžete nastavit následující vlastnosti:

Vlastnost Popis
Tabulka Název existující cílové tabulky (rozlišují se malá a velká písmena). Table Přepíše nastavení v podokněData Connection.
Formát Formát dat. Data format Přepíše nastavení v podokněData Connection.
IngestionMappingReference Název existujícího mapování příjmu dat , které se má použít. Column mapping Přepíše nastavení v podokněData Connection.
Komprese Komprese None dat (výchozí) nebo GZip komprese.
Encoding Kódování dat, výchozí hodnota je UTF8. Může to být jakékoli kódování podporované v rozhraní .NET.
Značky Seznam značek, které chcete přidružit k přijatým datům, formátovaný jako řetězec pole JSON. Použití značek má vliv na výkon .

Poznámka

Ingestují se pouze události, které jsou zařaděné do fronty po vytvoření datového připojení.

Směrování událostí

Při nastavování připojení centra událostí ke clusteru Azure Synapse Data Explorer zadáte vlastnosti cílové tabulky (název tabulky, formát dat, komprese a mapování). Výchozí směrování dat se také označuje jako static routing. Pomocí vlastností události můžete také zadat vlastnosti cílové tabulky pro každou událost. Připojení bude dynamicky směrovat data, jak je uvedeno v EventData.Properties, přepsání statických vlastností pro tuto událost.

V následujícím příkladu nastavte podrobnosti centra událostí a odešlete data metrik počasí do tabulky WeatherMetrics. Data jsou ve json formátu. mapping1 je předdefinovaný v tabulce 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();

Mapování vlastností systému událostí

Systémové vlastnosti ukládají vlastnosti, které jsou nastaveny službou Event Hubs v okamžiku zařazení události do fronty. Připojení Azure Synapse Data Explorer centra událostí vloží vybrané vlastnosti do cílového umístění dat v tabulce.

Poznámka

  • Vlastnosti systému jsou podporované pro json tabulkové formáty a (csvtsvatd.) a u komprimovaných dat se nepodporují. Při použití nepodporovaného formátu budou data stále ingestována, ale vlastnosti budou ignorovány.
  • U tabulkových dat jsou systémové vlastnosti podporovány pouze pro zprávy událostí s jedním záznamem.
  • U dat JSON jsou systémové vlastnosti podporovány také pro zprávy událostí s více záznamy. V takových případech se vlastnosti systému přidají pouze k prvnímu záznamu zprávy události.
  • Pro csv mapování se vlastnosti přidají na začátek záznamu v pořadí uvedeném v tabulce Vlastnosti systému .
  • Pro json mapování se vlastnosti přidávají podle názvů vlastností v tabulce Vlastnosti systému .

Systémové vlastnosti

Centrum událostí zveřejňuje následující systémové vlastnosti:

Vlastnost Typ dat Popis
x-opt-enqueued-time datetime Čas UTC, kdy byla událost zapsána do fronty
x-opt-sequence-number long Logické pořadové číslo události v rámci streamu oddílu centra událostí
x-opt-offset řetězec Posun události od streamu oddílu centra událostí. Identifikátor posunu je jedinečný v rámci oddílu streamu centra událostí.
x-opt-publisher řetězec Název vydavatele, pokud se zpráva odeslala do koncového bodu vydavatele
x-opt-partition-key řetězec Klíč oddílu odpovídajícího oddílu, ve které byla událost uložena

Pokud jste v tabulce v části Zdroj dat vybrali Vlastnosti systému událostí, musíte vlastnosti zahrnout do schématu tabulky a mapování.

Příklady mapování schématu

Příklad mapování schématu tabulky

Pokud data obsahují tři sloupce (Timespan, a Value) a vlastnosti, Metrickteré zahrnete, jsou x-opt-enqueued-time a x-opt-offset, vytvořte nebo upravte schéma tabulky pomocí tohoto příkazu:

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

Příklad mapování CSV

Spuštěním následujících příkazů přidejte data na začátek záznamu. Poznamenejte si pořadové hodnoty.

    .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říklad mapování JSON

Data se přidávají pomocí mapování systémových vlastností. Spusťte tyto příkazy:

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

Připojení centra událostí

Poznámka

Pro zajištění nejlepšího výkonu vytvořte všechny prostředky ve stejné oblasti jako cluster Azure Synapse Data Explorer.

Vytvoření centra událostí

Pokud ho ještě nemáte, vytvořte centrum událostí. Připojení k centru událostí je možné spravovat prostřednictvím Azure Portal, programově pomocí jazyka C# nebo Pythonu nebo pomocí šablony Azure Resource Manager.

Poznámka

  • Počet oddílů se nedá změnit, proto byste při nastavování počtu oddílů měli zvážit dlouhodobé škálování.
  • Skupina příjemců musí být jedinečná pro každého spotřebitele. Vytvořte skupinu příjemců vyhrazenou pro Azure Synapse Data Explorer připojení.

Odesílání událostí

Podívejte se na ukázkovou aplikaci , která generuje data a odesílá je do centra událostí.

Příklad generování ukázkových dat najdete v tématu Příjem dat z centra událostí do Azure Synapse Data Explorer

Nastavení řešení geografického zotavení po havárii

Centrum událostí nabízí řešení geografického zotavení po havárii . Azure Synapse Data Explorer nepodporuje Alias obory názvů centra událostí. Pokud chcete ve svém řešení implementovat geografické zotavení po havárii, vytvořte dvě datová připojení centra událostí: jedno pro primární obor názvů a jedno pro sekundární obor názvů. Azure Synapse Data Explorer bude naslouchat oběma připojením centra událostí.

Poznámka

Je zodpovědností uživatele implementovat převzetí služeb při selhání z primárního oboru názvů do sekundárního oboru názvů.

Další kroky