Sdílet prostřednictvím


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 vaší aplikací IoT a zařízeními, která spravuje. Azure Data Explorer nabízí nepřetržitý příjem dat ze služby IoT Hubs spravovaný zákazníkem pomocí svého centra událostí kompatibilního s koncovým bodem zpráv typu zařízení-cloud.

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 vytvoříte cílovou tabulku v Azure Data Exploreru, do které se data v určitém formátu budou ingestovat pomocí daných vlastností příjmu dat. Připojení iot Hubu potřebuje znát směrování událostí pro připojení k tabulce Azure Data Exploreru. 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 webu Azure Portal, programově pomocí C# nebo Pythonu nebo pomocí šablony Azure Resource Manageru.

Obecné informace o příjmu dat v Azure Data Exploreru najdete v přehledu příjmu dat v Azure Data Exploreru.

Formát dat

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
Databáze Název cílové databáze (rozlišují se malá a velká písmena). Tuto vlastnost můžete použít, pokud chcete odeslat data do jiné databáze, než je databáze, ve které 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í s více databázemi. Další informace naleznete v tématu Směrování událostí.
Table Název (rozlišují se malá a velká písmena) existující cílové tabulky. Table Přepíše sadu v Data Connection podokně.
Formát Formát dat: Data format Přepíše sadu 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 sadu v Data Connection podokně.
Kódování Kódování dat, výchozí hodnota je UTF8. Může se jednat o jakékoli kódování podporované technologií .NET.

Poznámka:

Po vytvoření datového připojení se ingestují pouze události, které se zařadí do fronty.

Směrování událostí

Při vytváření datového připojení ke clusteru určíte směrování, kam se mají ingestované data odesílat. Výchozí směrování je cílová tabulka zadaná v připojovací řetězec, která je 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álosti.

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 data odeslat do jiné databáze, musíte nejprve nastavit připojení jako připojení s více databázemi. Příklad toho, jak to udělat na webu Azure Portal, najdete v tématu Zapnutí směrování s více databázemi. Uživatel, skupina, instanční objekt nebo spravovaná identita použitá k povolení 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 dat databáze.

Upozorňující

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í. Pomocí následujících kroků povolte směrování dat do alternativních databází:

  1. Na webu Azure Portal přejděte ke svému clusteru.

  2. Vyberte Datová>připojení databáze.

  3. 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).

    Snímek obrazovky webového uživatelského rozhraní Azure Data Exploreru s možností nastavení směrování dat nastavenou na povolenou

Směrování dat událostí do alternativní tabulky

Můžete také zadat vlastnosti cílové tabulky pro každou událost pomocí vlastností události. Připojení bude dynamicky směrovat data, jak je uvedeno v EventData.Properties, přepsání statických vlastností pro tuto událost. Pokud chcete zadat alternativní tabulku, nastavte vlastnost Příjem dat tabulky.

Poznámka:

Pokud data obsahují vybrané informace o směrování, musíte jako součást vlastností událostí zadat potřebné informace o směrování.

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

Systémové vlastnosti jsou kolekce sloužící k ukládání vlastností nastavených službou IoT Hub v době přijetí události. Připojení IoT Hubu Azure Data Exploreru vloží vybrané vlastnosti do vstupních dat do tabulky.

Poznámka:

Pro csv mapování se vlastnosti přidají na začátek záznamu v pořadí uvedeném v tabulce níže. 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 pro zprávy IoT Hubu zařízení-cloud následující systémové vlastnosti:

Vlastnost Popis
message-id Identifikátor uživatelem nastavený pro zprávu použitou pro vzory žádosti a odpovědi. Formát: Řetězec rozlišující velká a malá písmena (o délce až 128 znaků) 7bitové alfanumerické znaky ASCII + {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.
iothub-enqueuedtime Služba IoT Hub přijala zprávu typu zařízení-cloud a čas.
ID uživatele ID použité k určení původu zpráv. Při generování zpráv službou IoT Hub je tato hodnota nastavena na {iot hub name}hodnotu .
iothub-connection-device-id ID nastavené službou IoT Hub na zprávách typu zařízení-cloud Obsahuje ID zařízení , které zprávu odeslalo.
iothub-connection-module-id ID nastavené službou IoT Hub na zprávách typu zařízení-cloud Obsahuje id modulu zařízení, které zprávu odeslalo.
iothub-connection-auth-generation-id ID nastavené službou IoT Hub na zprávách typu 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á službou IoT Hub ve zprávách typu zařízení-cloud Tato vlastnost obsahuje informace o metodě ověřování použité k ověření zařízení odesílajícího zprávu.
iothub-app-iothub-creation-time-utc Umožňuje zařízení odesílat čas vytvoření události při odesílání dat v dávce.
iothub-creation-time-utc Umožňuje zařízení odesílat čas vytvoření události při odesílání jedné zprávy najednou.
dt-dataschema Tato hodnota je nastavena službou IoT Hub na zprávách typu 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 části Zdroj dat v tabulce vybrali vlastnosti systému událostí, musíte zahrnout vlastnosti do schématu tabulky a mapování.

Příklady mapování schématu

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

Pokud vaše data obsahují tři sloupce (Timespana) a Valuevlastnosti, Metrickteré zahrnete iothub-connection-device-id sequence-number, a pomocí tohoto příkazu vytvořte nebo upravte schéma tabulky:

    .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. Všimněte si řadových hodnot.

    .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í systémových vlastností. 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í vlastností uživatele události

Není podporováno rozšiřování datové části událostí služby IoT Hub vlastnostmi uživatele. Zvažte vložení vlastností uživatele do upstreamového textu události.

Připojení ke službě IoT Hub

Poznámka:

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

Vytvoření IoT Hubu

Pokud ho ještě nemáte, vytvořte Iot Hub. Připojení ke službě IoT Hub je možné spravovat prostřednictvím webu Azure Portal, programově pomocí C# nebo Pythonu nebo pomocí šablony Azure Resource Manageru.

Poznámka:

  • Počet device-to-cloud partitions 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 jednotlivé uživatele. Vytvořte skupinu příjemců vyhrazenou pro připojení Azure Data Exploreru. Najděte svůj prostředek na webu Azure Portal a přejděte k Built-in endpoints přidání nové skupiny příjemců.
  • Datové připojení používá IoT Hub Built-in endpoint. Pokud nakonfigurujete jakékoli jiné Message routing endpointzprávy, zastaví se tok zpráv, pokud se do daného koncového Built-in endpoint bodu nevytvořila trasa. Pokud chcete zajistit, aby zprávy při přidání nové trasy pokračovaly v toku do integrovaného koncového bodu, nakonfigurujte trasu do koncového events bodu. Další informace najdete v tématu Řešení potíží se směrováním zpráv ve službě IoT Hub.

Odesílání událostí

Podívejte se na ukázkový projekt , který simuluje zařízení a generuje data.

Další krok