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


Az MQTT által átirányított üzenetek szűrése

Az Event Grid-előfizetés szűrési funkciójával szűrheti az irányított MQTT-üzeneteket.

Témakörszűrés

Az üzenetek MQTT-témaköreire a Cloud Event séma "tárgy" tulajdonságára való szűréssel szűrhet. Az Event Grid-előfizetések a tárgy kezdő vagy záró értékének megadásával támogatják az ingyenes egyszerű tárgyszűréseket. Például:

  • Ha minden jármű saját témában teszi közzé a tartózkodási helyét (járművek/jármű1/gps, járművek/jármű2/gps stb.), a szűrőt használhatja: a tárgy "gps" végződésű, hogy csak az összes helyüzenetet irányozza.
  • Ha az egyes gyárak egyes szakaszainak gépei olyan témakörökben tesznek közzé közzétételeket, amelyek a gyári hierarchiát utánozzák (például factory1/area2/machine4/telemetria), használhatja a szűrőt: a tárgy "factory1/area2/" kezdetű, így csak a facotry1 és a 2. területhez tartozó üzeneteket irányíthatja egy adott végpontra. Ezt a konfigurációt replikálhatja úgy, hogy más gyárakból/területekről különböző végpontokra irányíthassa az üzeneteket.

Az esemény-előfizetés speciális szűrését is kihasználhatja az MQTT-témakör alapján történő szűréshez a felhőbeli eseményséma tárgytulajdonságára való szűréssel. A speciális szűrők lehetővé teszik összetettebb szűrők beállítását összehasonlító operátor, kulcs és érték megadásával.

Hasznos adatok szűrése

Tartalomtípusú MQTT v5-üzenetek esetén: "application/json; charset=utf-8" vagy payload format indicator=1, a hasznos adatok továbbítva lesznek az adatobjektumban, és az üzenet JSON-ként lesz szerializálva (vagy JSON-sztringként, ha a hasznos adat nem JSON). A tartalomtípus és/vagy a hasznos adatformátum-jelző beállítása lehetővé teszi, hogy az adatmezőn belül továbbított hasznos adattulajdonságokra szűrjön.

JSON hasznos adatok

Ha JSON-hasznos adatokat küld, az megfelelő JSON-ként lesz szerializálva, és az Esemény-előfizetés speciális szűrésével szűrhet a JSON minden tulajdonságára.

Ha például a következő hasznos adatokat küldi el:

{
	"Temp": 70,
	"humidity": 40
}

A következő szűrővel szűrheti az összes, 100-nál magasabb hőmérsékleti értékkel rendelkező üzenetet:

"advancedFilters": [{
    "operatorType": "NumberGreaterThan",
    "key": "data.Temp",
    "value": 100
}]

Nem JSON hasznos adatok

Ha olyan nem JSON-hasznos adatokat küld, amely még mindig UFT-8, az JSON-sztringként lesz szerializálva. Ha például a következő hasznos adatokat küldi el:

{
	Hello Contoso.
}

Az alábbi szűrővel szűrheti a "Contoso" szót tartalmazó összes üzenetet:

"advancedFilters": [{
    "operatorType": "StringContains",
    "key": "data",
    "value": "Contoso"
}]

Bővítési szűrés

A bővítmények hozzáadódnak az irányított CloudEvent attribútumaihoz, és az Esemény-előfizetés speciális szűrésével szűrheti őket.

Ha például a következő bővítést adta hozzá:

{
	"key": "clienttype",
	"value": "${client.attributes.type}"
}

Az alábbi szűrővel szűrheti a "sensor" típusú ügyfelektől érkező összes üzenetet:

"advancedFilters": [{"
    operatorType": "StringContains",
    "key": "clienttype", 
    "value": "sensor"
}]

Következő lépések:

Az útválasztásról az alábbi cikkekben olvashat bővebben:

Gyorsútmutató:

Fogalmak: