Adatok szűrése a peremhálózaton az Azure Functions használatával

Befejeződött

Az Azure IoT Central-alkalmazásnak küldött telemetriai adatok mennyiségének csökkentése érdekében az IoT Edge-eszközön lévő adatokat szeretné szűrni, mielőtt elküldené őket.

Az áruházakból az alkalmazásba küldött telemetriai adatok számának csökkentése érdekében szűrni kell az adatokat az IoT Edge-eszközön. Ezzel azt is biztosítja, hogy az operátorok csak a fontos adatokat lássák. Megállapította, hogy az operátoroknak csak akkor kell telemetriát látniuk, ha a környezeti hőmérséklet 21°C felett van.

Itt megtudhatja, hogyan használhatja az Azure Functionst modulként az IoT Edge-eszközön a szűrő implementálásához. Azt is áttekintheti, hogyan frissítheti az üzembehelyezési jegyzékfájlt az Azure IoT Central-alkalmazásra. Ezután az Azure IoT Central-alkalmazáshoz csatlakoztatott IoT Edge-eszközök letöltik és frissítik az eszközön található modulokat.

Mi az az Azure Functions?

Az Azure Functions egy olyan szolgáltatás, amellyel kis kódrészleteket, úgynevezett függvényeket futtathat anélkül, hogy az alkalmazásinfrastruktúra miatt kellene aggódnia. Az Azure Functions használatával a felhőinfrastruktúra biztosítja az összes olyan naprakész kiszolgálót, amely az alkalmazás nagy léptékű futtatásához szükséges.

Az Azure Functions használatával is üzembe helyezhet egy függvényt az IoT Edge-eszközön modulként, így a függvény helyileg, a peremhálózaton fut, nem pedig a felhőben.

Azt tervezi, hogy az Azure Functions használatával implementálja a szűrőt, hogy az IoT Edge-eszközön az egyik modulként fusson. Ez a szűrő korlátozza az Azure IoT Central-alkalmazásnak küldött gépi hőmérséklet telemetriai adatokat.

Függvényt tartalmazó IoT Edge-modul létrehozása

Több nyelven is létrehozhat függvényt az Azure Functionshez. Az alábbi lépések bemutatja, hogyan hozhat létre egy C#-ban implementált függvényt tartalmazó IoT Edge-modult:

  1. Hozzon létre egy projektet, amely egy Azure-függvénymodul állványzatát tartalmazza. Létrehozhat ilyen projektet a Visual Studio Code használatával, vagy a parancssorban a dotnet paranccsal.
  2. Implementálja a függvény üzleti logikáját a C#-ban.
  3. Hozza létre a projektet egy Docker-rendszerkép létrehozásához, amely tartalmazza a függvényt és a szükséges Azure Functions-futtatókörnyezetet.
  4. Töltse fel a Docker-lemezképet egy tárolóregisztrációs adatbázisba.
  5. Módosítsa az IoT Edge-eszköz üzembehelyezési jegyzékét úgy, hogy az tartalmazza az új modult. A konfiguráció tartalmazza a Docker-rendszerkép címét, valamint azt, hogy a függvénymodul hogyan működik együtt az IoT Edge-futtatókörnyezet más moduljaival.

Az alábbi kódrészlet az új filterfunction modullal rendelkező szakaszt mutatja modules be a frissített üzembehelyezési jegyzékben:

"modules": {
  "SimulatedTemperatureSensor": {
    "version": "1.0",
    "type": "docker",
    "status": "running",
    "restartPolicy": "always",
    "settings": {
      "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4.6",
      "createOptions": "{}"
    }
  },
  "filterfunction": {
    "version": "1.0",
    "type": "docker",
    "status": "running",
    "restartPolicy": "always",
    "settings": {
      "image": "<YOUR CONTAINER REGISTRY NAME>.azurecr.io/filterfunction:v1",
      "createOptions": ""
    }
  }
}

A használt tárolóregisztrációs adatbázistól és annak konfigurációjától függően előfordulhat, hogy az üzembehelyezési jegyzék hitelesítő adatokat igényel a beállításjegyzék eléréséhez.

Az alábbi kódrészlet bemutatja, hogyan irányítja a telemetriát a frissített üzembehelyezési jegyzék moduljai között:

"routes": {
    "FilterFunctionToIoTCentral": "FROM /messages/modules/filterfunction/outputs/* INTO $upstream",
    "sensorToFilterFunction": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/filterfunction/inputs/input1\")"
  },

Az üzembehelyezési jegyzék frissítése az Azure IoT Centralban

Az új modul IoT Edge-eszközön való üzembe helyezéséhez frissítse az üzembehelyezési jegyzékfájlt az Azure IoT Central-alkalmazásra. Az ilyen üzembehelyezési jegyzék frissítésekor az Azure IoT Central-alkalmazáshoz csatlakoztatott IoT Edge-eszközök letöltik és frissítik az eszközön lévő modulokat.

Az Azure Functions használata a peremhálózaton

1.

Hol futtathat Azure-függvényt?

2.

Mi az útválasztás szerepe egy üzembehelyezési jegyzékben?