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 JSON
az , jsonStream
, MessagePack
, , CBOR
, CSV
vagy 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 , Boolean Bytes |
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
}