Datové připojení IoT Hubu
Azure IoT Hub je spravovaná služba hostovaná v cloudu, která funguje jako centrum zpráv pro obousměrnou komunikaci mezi aplikací IoT a zařízeními, která spravuje. Azure Data Explorer nabízí průběžný příjem dat ze služeb IoT Hubs spravovaných zákazníkem pomocí integrovaného koncového bodu zpráv typu zařízení-cloud kompatibilního s centrem událostí.
Kanál pro příjem dat IoT prochází několika kroky. Nejprve vytvoříte IoT Hub a zaregistrujete do něj zařízení. Pak v Azure Data Explorer vytvoříte cílovou tabulku, do které se budou ingestovat data v konkrétním formátu pomocí daných vlastností příjmu dat. Připojení iot Hubu potřebuje znát směrování událostí, aby se bylo moct připojit k tabulce Azure Data Explorer. Data jsou vložena s vybranými vlastnostmi podle mapování vlastností systému událostí. 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 Data Explorer najdete v tématu Přehled příjmu dat v Azure Data Explorer.
Formát dat
- Data se načítají z koncového bodu centra událostí ve formě objektů EventData .
- Projděte si podporované formáty.
Poznámka
IoT Hub nepodporuje formát .raw.
- Projděte si podporované komprese.
Vlastnosti příjmu dat
Vlastnosti příjmu dat určují procesu příjmu dat, kam má 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 |
---|---|
Databáze | Název cílové databáze (rozlišují se malá a velká písmena). Tuto vlastnost můžete použít, pokud chcete data odeslat do jiné databáze, než pro kterou bylo datové připojení vytvořeno (výchozí databáze). Pokud chcete data směrovat do více databází, musíte nejprve nastavit připojení jako připojení k více databázím. Další informace najdete v tématu Směrování událostí. |
Tabulka | Název existující cílové tabulky (rozlišují se malá a velká písmena). Table Přepíše nastavení v Data Connection podokně. |
Formát | Formát dat. Data format Přepíše nastavení v Data Connection podokně. |
IngestionMappingReference | Název existujícího mapování příjmu dat , které se má použít. Column mapping Přepíše nastavení v Data Connection podokně. |
Encoding | Kódování dat, výchozí hodnota je UTF8. Může to být jakékoli kódování podporované technologií .NET. |
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 vytváření datového připojení ke clusteru zadáte směrování pro odesílání přijatých dat. Výchozí směrování je do cílové tabulky zadané v připojovací řetězec přidružené k cílové databázi. Výchozí směrování dat se také označuje jako statické směrování. Alternativní směrování dat můžete zadat pomocí vlastností dat událostí.
Směrování dat událostí do alternativní databáze
Směrování dat do alternativní databáze je ve výchozím nastavení vypnuté. Pokud chcete odesílat data do jiné databáze, musíte nejprve nastavit připojení jako připojení k více databázím. Příklad postupu v Azure Portal najdete v tématu Zapnutí více databází směrování. Uživatel, skupina, instanční objekt nebo spravovaná identita, které umožňují směrování databáze, musí mít v clusteru alespoň roli přispěvatele a oprávnění k zápisu.
Pokud chcete zadat alternativní databázi, nastavte vlastnost Příjem databáze.
Upozornění
Zadání alternativní databáze bez nastavení připojení jako datového připojení s více databázemi způsobí selhání příjmu dat.
Zapnutí směrování s více databázemi
Než budete moct nastavit alternativní cílovou databázi, musíte nejprve povolit směrování dat do více databází. Pokud chcete povolit směrování dat do alternativních databází, postupujte následovně:
V Azure Portal přejděte ke svému clusteru.
Vyberte Databáze>Datová připojení.
Vytvořte nebo upravte datové připojení a v podokně Datové připojení v části Nastavení směrování dat zapněte možnost Povolit směrování dat do jiné databáze (datové připojení s více databázemi).
Směrování dat událostí do alternativní tabulky
Vlastnosti cílové tabulky můžete také zadat pro každou událost pomocí vlastností události. Připojení bude dynamicky směrovat data, jak je uvedeno v EventData.Properties, a přepíše statické vlastnosti pro tuto událost. Pokud chcete zadat alternativní tabulku, nastavte vlastnost Table ingestion (Příjem tabulek).
Poznámka
Pokud je vybraná možnost Moje data obsahují informace o směrování , musíte jako součást vlastností událostí zadat potřebné informace o směrování.
Mapování systémových vlastností událostí
Systémové vlastnosti jsou kolekce sloužící k ukládání vlastností nastavených službou IoT Hub v okamžiku přijetí události. Připojení Azure Data Explorer IoT Hub vloží vybrané vlastnosti do datového cílového objektu v tabulce.
Poznámka
Pro csv
mapování se vlastnosti přidají na začátek záznamu v pořadí uvedeném v následující tabulce. Pro json
mapování se vlastnosti přidají podle názvů vlastností v následující tabulce.
Systémové vlastnosti
IoT Hub zveřejňuje následující systémové vlastnosti pro zprávy IoT Hub zařízení-cloud:
Vlastnost | Popis |
---|---|
id zprávy | Identifikátor nastavitelný uživatelem pro zprávu, která se používá pro vzory žádosti a odpovědi. Formát: Řetězec 7bitových alfanumerických znaků ASCII s rozlišováním velkých a malých písmen (až 128 znaků) + {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''} . |
iothub-enqueuedtime | Datum a čas přijetí zprávy ze zařízení do cloudu IoT Hub |
user-id | ID sloužící k určení původu zpráv. Když IoT Hub vygeneruje zprávy, nastaví se tato hodnota na {iot hub name} . |
iothub-connection-device-id | ID nastavené IoT Hub zpráv zařízení-cloud. Obsahuje id zařízení zařízení, které zprávu odeslalo. |
iothub-connection-module-id | ID nastavené IoT Hub zpráv zařízení-cloud. Obsahuje id modulu zařízení, které zprávu odeslalo. |
iothub-connection-auth-generation-id | ID nastavené IoT Hub zpráv zařízení-cloud. Obsahuje connectionDeviceGenerationId (podle vlastností identity zařízení) zařízení, které zprávu odeslalo. |
iothub-connection-auth-method | Metoda ověřování nastavená IoT Hub ve zprávách zařízení-cloud. Tato vlastnost obsahuje informace o metodě ověřování, která se používá k ověření zařízení odesílajícího zprávu. |
iothub-app-iothub-creation-time-utc | Umožňuje zařízení odeslat čas vytvoření události při odesílání dat v dávce. |
iothub-creation-time-utc | Umožňuje zařízení odeslat čas vytvoření události při posílání jedné zprávy. |
dt-dataschema | Tuto hodnotu nastavuje IoT Hub ve zprávách zařízení-cloud. Obsahuje ID modelu zařízení nastavené v připojení zařízení. |
dt-subject | Název komponenty, která odesílá zprávy typu zařízení-cloud. |
Pokud jste v tabulce v části Zdroj dat vybrali Systémové vlastnosti události, 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 iothub-connection-device-id
a sequence-number
, vytvořte nebo upravte schéma tabulky pomocí tohoto příkazu:
.create-merge table TestTable (TimeStamp: datetime, Metric: string, Value: int, IotHubDeviceId:long, IotHubSequenceNumber:long)
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" : "TimeStamp", "Properties":{"Ordinal":"2"}},'
' { "column" : "Metric", "Properties":{"Ordinal":"3"}},'
' { "column" : "Value", "Properties":{"Ordinal":"4"}},'
' { "column" : "IotHubDeviceId", "Properties":{"Ordinal":"0"}},'
' { "column" : "IotHubSequenceNumber", "Properties":{"Ordinal":"1"}}'
']'
Příklad mapování JSON
Data se přidávají pomocí mapování vlastností systému. Spusťte tyto příkazy:
.create table TestTable ingestion json mapping "JsonMapping1"
'['
' { "column" : "TimeStamp", "Properties":{"Path":"$.timestamp"}},'
' { "column" : "Metric", "Properties":{"Path":"$.metric"}},'
' { "column" : "Value", "Properties":{"Path":"$.metric_value"}},'
' { "column" : "IotHubDeviceId", "Properties":{"Path":"$.iothub-connection-device-id"}},'
' { "column" : "IotHubSequenceNumber", "Properties":{"Path":"$.sequence-number"}}'
']'
Mapování uživatelských vlastností událostí
Rozšíření datové části událostí IoT Hub vlastnostmi uživatele není podporováno. Zvažte vložení vlastností uživatele do upstreamového textu události.
IoT Hub připojení
Poznámka
Pro zajištění nejlepšího výkonu vytvořte všechny prostředky ve stejné oblasti jako cluster Azure Data Explorer.
Vytvořit IoT Hub
Pokud ho ještě nemáte, vytvořte IoT Hub. Připojení k IoT Hub je možné spravovat prostřednictvím Azure Portal, programově pomocí C# nebo Pythonu nebo pomocí šablony Azure Resource Manager.
Poznámka
- Počet
device-to-cloud partitions
není změnitelný, proto byste při nastavování počtu oddílů měli zvážit dlouhodobé škálování. - Skupina uživatelů musí být pro každého spotřebitele jedinečná. Vytvořte skupinu uživatelů vyhrazenou pro připojení Azure Data Explorer. Najděte svůj prostředek v Azure Portal a přejděte na
Built-in endpoints
a přidejte novou skupinu uživatelů. - Datové připojení používá IoT Hub
Built-in endpoint
. Pokud nakonfigurujete jakékoli jinéMessage routing endpoint
, zprávy přestanou do objektuBuilt-in endpoint
proudit, pokud se nevytvořila trasa do daného koncového bodu. Pokud chcete zajistit, aby zprávy při přidání nové trasy pokračovaly v toku zpráv do integrovaného koncového bodu, nakonfigurujte trasu do koncovéhoevents
bodu. Další informace najdete v tématu IoT Hub Řešení potíží se směrováním zpráv.
Odesílání událostí
Podívejte se na ukázkový projekt , který simuluje zařízení a generuje data.
Další krok
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro