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. ZadejteCompression
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 (csv
tsv
atd.) 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, Metric
které 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
- Ingestování dat z centra událostí do Azure Synapse Data Explorer
- Vytvoření datového připojení centra událostí pro Azure Synapse Data Explorer pomocí jazyka C #
- Vytvoření datového připojení centra událostí pro Azure Synapse Data Explorer pomocí Pythonu
- Vytvoření datového připojení centra událostí pro Azure Synapse Data Explorer pomocí šablony Azure Resource Manager