IoT Hub-adatkapcsolatok

Azure IoT Hub egy felhőben üzemeltetett felügyelt szolgáltatás, amely központi üzenetközpontként szolgál az IoT-alkalmazás és az általa felügyelt eszközök közötti kétirányú kommunikációhoz. Az Azure Data Explorer folyamatos betöltést biztosít az ügyfél által felügyelt IoT Hubsból az eszközről a felhőbe irányuló üzenetek beépített végpontjával kompatibilis Event Hub használatával.

Az IoT-betöltési folyamat több lépésen megy keresztül. Először hozzon létre egy IoT Hub, és regisztráljon hozzá egy eszközt. Ezután létre kell hoznia egy céltáblát az Azure-ban Data Explorer, amelybe az adatok egy adott formátumban lesznek betöltve a megadott betöltési tulajdonságok használatával. Az Iot Hub-kapcsolatnak ismernie kell az események útválasztását az Azure Data Explorer táblához való csatlakozáshoz. Az adatok az eseményrendszer tulajdonságainak leképezése alapján vannak beágyazva a kiválasztott tulajdonságokba. Ez a folyamat a Azure Portal keresztül kezelhető, programozott módon C# vagy Python használatával, vagy az Azure Resource Manager sablonnal.

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

Adatformátum

Betöltési tulajdonságok

A betöltési tulajdonságok arra utasítják a betöltési folyamatot, hogy hová irányítsa az adatokat, és hogyan dolgozza fel azokat. Az események betöltési tulajdonságait az EventData.Properties paranccsal adhatja meg. A következő tulajdonságokat állíthatja be:

Tulajdonság Leírás
Adatbázis A céladatbázis neve (kis- és nagybetűk megkülönböztetése). Ez a tulajdonság akkor használható, ha az adatokat egy másik adatbázisba szeretné küldeni, mint az adatbázisba, amelyen az adatkapcsolat létre lett hozva (ez az alapértelmezett adatbázis). Ha az adatokat több adatbázisba szeretné irányítani, először többadatbázisos kapcsolatként kell beállítania a kapcsolatot. További információ: Események útválasztása.
Tábla A meglévő céltábla neve (kis- és nagybetűk megkülönböztetése). Felülbírálja a Table halmazt a Data Connection panelen.
Formátum Adatformátum. Felülbírálja a Data format halmazt a Data Connection panelen.
IngestionMappingReference A használni kívánt betöltési leképezés neve. Felülbírálja a Column mapping halmazt a Data Connection panelen.
Encoding Az adatkódolás alapértelmezett értéke UTF8. A .NET által támogatott kódolások bármelyike lehet.

Megjegyzés

Csak az adatkapcsolat létrehozása után beküldött események lesznek betöltve.

Események útválasztása

Amikor adatkapcsolatot hoz létre a fürthöz, meg kell adnia a betöltött adatok küldéséhez szükséges útválasztást. Az alapértelmezett útválasztás a céladatbázishoz társított kapcsolati karakterlánc megadott céltáblához tartozik. Az adatok alapértelmezett útválasztását statikus útválasztásnak is nevezik. Az eseményadatok tulajdonságaival alternatív útválasztást is megadhat az adatokhoz.

Eseményadatok átirányítása másik adatbázisba

Az adatok másik adatbázisba való átirányítása alapértelmezés szerint ki van kapcsolva. Ha az adatokat egy másik adatbázisba szeretné küldeni, először többadatbázisos kapcsolatként kell beállítania a kapcsolatot. A Azure Portal ennek módjáról a Több adatbázisos útválasztás bekapcsolása című témakörben talál példát. Az adatbázis-útválasztás engedélyezéséhez használt felhasználónak, csoportnak, szolgáltatásnévnek vagy felügyelt identitásnak legalább közreműködői szerepkörrel és írási engedélyekkel kell rendelkeznie a fürtön.

Alternatív adatbázis megadásához állítsa be az Adatbázis-betöltési tulajdonságot.

Figyelmeztetés

Ha egy másik adatbázist úgy ad meg, hogy nem állítja be a kapcsolatot többadatbázisos adatkapcsolatként, a betöltés meghiúsul.

A többadatbázisos útválasztás bekapcsolása

Egy másik céladatbázis beállítása előtt engedélyeznie kell az adatok több adatbázisba való átirányítását. Az alábbi lépésekkel engedélyezheti az adatok alternatív adatbázisokba való átirányítását:

  1. A Azure Portal keresse meg a fürtöt.

  2. Válassza az> AdatbázisokAdatkapcsolatok lehetőséget.

  3. Hozzon létre vagy szerkesszen egy adatkapcsolatot, majd az Adatkapcsolat panel Adatútválasztási beállítások területén kapcsolja be az Adatok más adatbázisba (többadatbázisos adatkapcsolat) való továbbításának engedélyezése beállítást.

    Képernyőkép az Azure Data Explorer Webes U I-ről, amelyen az Adatútválasztási beállítások beállítás engedélyezve van.

Eseményadatok átirányítása másik táblába

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 tulajdonságban megadottak szerint, felülírva az esemény statikus tulajdonságait. Alternatív tábla megadásához állítsa be a Tableingestion tulajdonságot.

Megjegyzés

Ha a Saját adatok között útválasztási adatok is vannak kiválasztva, meg kell adnia a szükséges útválasztási információkat az eseménytulajdonságok részeként.

Eseményrendszer tulajdonságainak leképezése

A rendszertulajdonságok olyan gyűjtemények, amelyek az esemény fogadásának időpontjában az IoT Hub szolgáltatás által beállított tulajdonságok tárolására szolgálnak. Az Azure Data Explorer IoT Hub-kapcsolat beágyazza a kiválasztott tulajdonságokat a táblában lévő adatleszállásba.

Megjegyzés

A leképezéshez csv a tulajdonságok a rekord elején, az alábbi táblázatban felsorolt sorrendben lesznek hozzáadva. A leképezéshez json a tulajdonságok az alábbi táblázatban szereplő tulajdonságnevek szerint lesznek hozzáadva.

Rendszertulajdonságok

IoT Hub az eszközről a felhőbe irányuló IoT Hub üzenetek következő rendszertulajdonságait teszi elérhetővé:

Tulajdonság Leírás
message-id A kérés-válasz mintákhoz használt üzenet felhasználó által beállított azonosítója. Formátum: Kis- és nagybetűk megkülönböztetése (legfeljebb 128 karakter hosszú) ASCII 7 bites alfanumerikus karakterek + {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.
iothub-enqueuedtime Az eszközről a felhőbe üzenet IoT Hub általi fogadásának dátuma és időpontja.
felhasználói azonosító Az üzenetek eredetének megadására használt azonosító. Ha IoT Hub hoz létre üzeneteket, ez az érték értékre {iot hub name}van állítva.
iothub-connection-device-id Az eszközről a felhőbe irányuló üzenetek IoT Hub által beállított azonosító. Tartalmazza az üzenetet küldő eszköz deviceId azonosítóját .
iothub-connection-module-id Az eszközről a felhőbe irányuló üzenetek IoT Hub által beállított azonosító. Tartalmazza az üzenetet küldő eszköz modulazonosítóját .
iothub-connection-auth-generation-id Az eszközről a felhőbe irányuló üzenetek IoT Hub által beállított azonosító. Tartalmazza az üzenetet küldő eszköz connectionDeviceGenerationId azonosítóját (az eszközidentitás tulajdonságainak megfelelően).
iothub-connection-auth-method A IoT Hub által az eszközről a felhőbe irányuló üzeneteken beállított hitelesítési módszer. Ez a tulajdonság információkat tartalmaz az üzenetet küldő eszköz hitelesítéséhez használt hitelesítési módszerről.
iothub-app-iothub-creation-time-utc Lehetővé teszi az eszköz számára az eseménylétrehozás idejét, amikor adatokat küld egy kötegben.
iothub-creation-time-utc Lehetővé teszi az eszköz számára az eseménylétrehozás idejét, amikor egyszerre egy üzenetet küld.
dt-dataschema Ezt az értéket az IoT Hub állítja be az eszközről a felhőbe irányuló üzeneteken. Az eszközkapcsolatban beállított eszközmodell-azonosítót tartalmazza.
dt-subject Az eszközről a felhőbe irányuló üzeneteket küldő összetevő neve.

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 sequence-numbera tulajdonságot, iothub-connection-device-id 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, IotHubDeviceId:long, IotHubSequenceNumber:long)

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

Eseményfelhasználói tulajdonságok leképezése

A IoT Hub események hasznos adatainak felhasználói tulajdonságokkal való bővítéséhez nem támogatott. Fontolja meg a felhasználói tulajdonságok beágyazását az esemény törzsébe a felső rétegben.

IoT Hub kapcsolat

Megjegyzés

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

IoT Hub létrehozása

Ha még nincs ilyenje, hozzon létre egy Iot Hubot. A IoT Hub a Azure Portal keresztül, programozott módon, C# vagy Python használatával, illetve az Azure Resource Manager sablonnal kezelhetők.

Megjegyzés

  • A device-to-cloud partitions darabszám nem módosítható, ezért a partíciók számának beállításakor érdemes megfontolni a hosszú távú skálázást.
  • A fogyasztói csoportnak fogyasztónként egyedinek kell lennie. Hozzon létre egy, az Azure Data Explorer kapcsolathoz dedikált fogyasztói csoportot. Keresse meg az erőforrást a Azure Portal, és lépjen Built-in endpoints egy új fogyasztói csoport hozzáadásához.
  • Az adatkapcsolat IoT Hub Built-in endpointhasznál. Ha konfigurál egy másikat Message routing endpoint, az üzenetek nem haladnak tovább a Built-in endpoint végpontra, hacsak nem jön létre útvonal az adott végpontra. Ha új útvonalat ad hozzá, az üzenetek továbbra is a beépített végpontra áramlanak, konfiguráljon egy útvonalat a events végponthoz. További információ: IoT Hub Hibaelhárítási üzenetek útválasztása.

Események küldése

Tekintse meg az eszközt szimuláló és adatokat generáló mintaprojektet .

Következő lépés