Megosztás a következőn keresztül:


MQ-forrásszakasz konfigurálása egy Azure IoT-adatfeldolgozó előzetes verziójának folyamatában

Fontos

Az Azure IoT Operations Előzetes verziója – az Azure Arc által engedélyezett verzió jelenleg előzetes verzióban érhető el. Ezt az előzetes verziójú szoftvert nem szabad éles környezetben használni.

A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

A forrásszakasz az Azure IoT Data Processor Preview folyamat első és szükséges szakasza. A forrásszakasz beolvasja az adatokat az adatfeldolgozási folyamatba, és előkészíti őket a további feldolgozásra. Az MQ forrásszakasz lehetővé teszi, hogy feliratkozzon egy MQTT-témakörből származó üzenetekre. A forrásszakaszban meg kell határoznia az MQ-forrás kapcsolati adatait, és létre kell hoznia egy particionálási konfigurációt a konkrét adatfeldolgozási követelmények alapján.

Előfeltételek

  • Az adatfeldolgozó egy működő példánya van üzembe helyezve.
  • Az Azure IoT MQ Preview-közvetítő egy példánya minden szükséges elérhető nyers adattal működőképes és elérhető.

Az MQ-forrás konfigurálása

Az MQ-forrás konfigurálása:

  • Adja meg a kapcsolat részleteit az MQ-forrásnak. Ez a konfiguráció tartalmazza az MQ-forrás típusát, az MQTT-közvetítő URL-címét, a szolgáltatásminőségi (QoS) szintet, a munkamenet típusát és a feliratkozáshoz használt témaköröket.
  • Adja meg a hitelesítési módszert. Jelenleg a felhasználónév/jelszóalapú hitelesítés vagy a szolgáltatásfiók jogkivonatára korlátozódik.

Az alábbi táblázat az MQ forráskonfigurációs paramétereit ismerteti:

Mező Leírás Kötelező Alapértelmezett Példa
Név A forrásszakasz ügyfél által látható neve. Kötelező N.a. asset-1broker
Leírás A forrásszakasz ügyfél által látható leírása. Választható N.a. brokerforasset-1
Közvetítő Az MQTT-közvetítő URL-címe, amelyhez csatlakozni szeretne. Kötelező N.a. tls://aio-mq-dmqtt-frontend:8883
Hitelesítés A közvetítőhöz való csatlakozás hitelesítési módszere. Az egyik: None, Username/Passwordés Service Account Token (SAT). Kötelező Service Account Token (SAT) Service Account Token (SAT)
Felhasználónév/jelszó > felhasználónév A felhasználónév/jelszó hitelesítésének felhasználóneve Igen N.a. myuser
Felhasználónév/jelszó titkos kódja > Hivatkozás az Azure Key Vaultban tárolt jelszóra. Igen N.a. AKV_USERNAME_PASSWORD
Qos QoS-szint az üzenetkézbesítéshez. Kötelező 0 0
Munkamenet törlése FALSE Állandó munkamenetre van állítva. Kötelező FALSE FALSE
Téma Az adatgyűjtésre előfizetendő témakör. Kötelező N.a. contoso/site1/asset1, contoso/site1/asset2

A titkos kódokról további információt az Azure IoT Operations előzetes verziójának titkos kulcsainak kezelése című témakörben talál.

Az adatfeldolgozó nem rendezi át az MQTT-közvetítőtől érkező rendelésen kívüli adatokat. Ha az adatok rendelésen kívül érkeznek a közvetítőtől, az a folyamatban marad.

Adatformátum kiválasztása

Az adatfeldolgozó folyamatokban a forrásszakasz formátummezője határozza meg a bejövő adatok deszerializálását. Az adatfeldolgozó folyamat alapértelmezés szerint azt a raw formátumot használja, amely azt jelenti, hogy nem konvertálja a bejövő adatokat. A folyamat számos adatfeldolgozó funkciójának, például Filter vagy Enrich fázisának használatához deszerializálnia kell az adatokat a bemeneti szakaszban. A teljes adatfeldolgozói funkció használatához dönthet úgy, hogy deszerializálja a bejövő adatokat JSONaz , jsonStream, MessagePack, , CBOR, CSVvagy Protobuf formátumokból egy olvasható üzenetté.

Az alábbi táblázatok a különböző deszerializálási konfigurációs beállításokat ismertetik:

Mező Leírás Kötelező Alapértelmezett Érték
Adatformátum Az adatformátum típusa. Igen Raw Raw JSON jsonStream MessagePack CBOR CSV Protobuf

A Data Format mező kötelező, értéke pedig a többi kötelező mezőt határozza meg.

A CSV-üzenetek deszerializálásához a következő mezőket is meg kell adnia:

Mező Leírás Kötelező Érték Példa
Fejléc Hogy a CSV-adatok tartalmaznak-e fejlécsort. Igen Yes No No
Név Az oszlop neve a CSV-ben Igen - temp, asset
Elérési út Az üzenet jq elérési útja , ahol az oszlopinformációk hozzáadva vannak. Nem - Az alapértelmezett jq elérési út az oszlop neve
Adattípus Az oszlopban lévő adatok adattípusa és az adatfeldolgozó folyamaton belüli ábrázolása. Nem String, Float, Integer, BooleanBytes Alapértelmezett: String

A Protobuf-üzenetek deszerializálásához a következő mezőket is meg kell adnia:

Mező Leírás Kötelező Érték Példa
Leíró A protobuf definíció base64 kódolású leírója. Igen - Zhf...
Üzenet Az adatok formázásához használt üzenettípus neve. Igen - pipeline
Csomag A csomag neve abban a leíróban, amelyben a típus definiálva van. Igen - schedulerv1

Feljegyzés

Az adatfeldolgozó minden .proto fájlban csak egy üzenettípust támogat.

Particionálás konfigurálása

A folyamat particionálása külön partíciókra osztja a bejövő adatokat. A particionálás lehetővé teszi az adatok párhuzamosságát a folyamatban, ami javíthatja az átviteli sebességet és csökkentheti a késést. A particionálási stratégiák hatással vannak az adatok feldolgozásának módjára a folyamat más szakaszaiban. Az utolsó ismert értékszakasz és összesítési fázis például minden logikai partíción működik.

Az adatok particionálásához adja meg a particionálási stratégiát és a használandó partíciók számát:

Mező Leírás Kötelező Alapértelmezett Példa
Partíciótípus A használandó particionálás típusa: Partíció ID vagy partíció Key Kötelező Key Key
Partíciókifejezés A bejövő üzenetben a partíció ID vagy partíció kiszámításához használandó jq kifejezésKey Kötelező .topic .topic
Partíciók száma Az adatfeldolgozó folyamat partícióinak száma. Kötelező 2 2

Az adatfeldolgozó további metaadatokat ad hozzá a bejövő üzenethez. Az adatfeldolgozó üzenetstruktúrájának áttekintésével megtudhatja, hogyan adhatja meg helyesen a bejövő üzeneten futó particionálási kifejezést. Alapértelmezés szerint a particionálási kifejezés a partíciótípussal van beállítva0, hogy ID az összes bejövő adatot egyetlen partícióra küldje.

A javaslatokról és további tudnivalókról a Mi a particionálás? című témakörben olvashat.

Mintakonfiguráció

Az alábbiakban egy példakonfiguráció látható a szakaszhoz:

Paraméter Érték
Név input data
Közvetítő tls://aio-mq-dmqtt-frontend:8883
Hitelesítés Service Account Token (SAT)
Téma azure-iot-operations/data/opc-ua-connector-0/#
Adatformátum JSON

Ez a konfiguráció ezután az alábbi példához hasonló üzeneteket hoz létre:

{
    "Timestamp": "2023-08-10T00:54:58.6572007Z", 
    "MessageType": "ua-deltaframe",
    "payload": {
      "temperature": {
        "SourceTimestamp": "2023-08-10T00:54:58.2543129Z",
        "Value": 7109
      },
      "Tag 10": {
        "SourceTimestamp": "2023-08-10T00:54:58.2543482Z",
        "Value": 7109
      }
    },
    "DataSetWriterName": "oven",
    "SequenceNumber": 4660
}