Použití Azure Functions k filtrování dat na hraničních zařízeních

Dokončeno

Pokud chcete snížit množství telemetrie odesílané do aplikace IoT Central, chcete data na zařízení IoT Edge filtrovat před odesláním.

Pokud chcete snížit náklady spojené s odesíláním telemetrie z vašich úložišť do vaší aplikace a zajistit, aby operátoři viděli jenom důležitá data, chcete data filtrovat na zařízení IoT Edge. Zjistili jste, že operátory musí vidět telemetrii jenom v případě, že okolní teplota překročí 21°C.

Tady se dozvíte, jak pomocí Azure Functions jako modulu na zařízení IoT Edge implementovat filtr. Také si projdete, jak aktualizovat manifest nasazení na aplikaci IoT Central, takže si zařízení IoT Edge, která jsou připojená k aplikaci IoT Central, stáhnutí a aktualizaci modulů na zařízení.

Co je Azure Functions?

Azure Functions je služba, která umožňuje spouštět malé části kódu, označované jako funkce, aniž byste se museli starat o infrastrukturu aplikací. S Azure Functions poskytuje cloudová infrastruktura všechny aktuální servery, které potřebujete, aby vaše aplikace běžela ve velkém měřítku.

Azure Functions můžete také použít k nasazení funkce do zařízení IoT Edge jako modulu, aby se funkce spouštěla místně, a ne v cloudu.

Plánujete implementovat filtr pomocí Služby Azure Functions ke spuštění jako jeden z modulů na zařízení IoT Edge. Tento filtr omezuje množství telemetrie teploty počítače odesílané do vaší aplikace IoT Central.

Vytvoření modulu IoT Edge, který obsahuje funkci

K vytvoření funkce pro Azure Functions můžete použít více jazyků. Následující kroky popisují, jak vytvořit modul IoT Edge, který obsahuje funkci implementovanou v jazyce C#:

  1. Vytvořte projekt, který zahrnuje generování uživatelského rozhraní pro modul Funkce Azure. Takový projekt můžete vytvořit pomocí editoru dotnet Visual Studio Code nebo na příkazovém řádku pomocí příkazu.
  2. Implementujte obchodní logiku pro funkci v jazyce C#.
  3. Sestavte projekt tak, aby vygeneroval image Dockeru, která obsahuje funkci a požadovaný modul runtime Azure Functions.
  4. Nahrajte image Dockeru do registru kontejneru.
  5. Upravte manifest nasazení pro zařízení IoT Edge tak, aby zahrnoval nový modul. Konfigurace zahrnuje adresu image Dockeru a způsob interakce modulu funkcí s dalšími moduly v modulu runtime IoT Edge.

Následující fragment kódu ukazuje modules část s novým filterfunction modulem v aktualizovaném manifestu nasazení:

"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": ""
    }
  }
}

V závislosti na používaném registru kontejneru a jeho konfiguraci může manifest nasazení obsahovat přihlašovací údaje pro přístup k registru.

Následující fragment kódu ukazuje, jak se telemetrie směruje mezi moduly v aktualizovaném manifestu nasazení:

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

Aktualizace manifestu nasazení ve službě IoT Central

Pokud chcete nasadit nový modul do zařízení IoT Edge, aktualizujte manifest nasazení na aplikaci IoT Central. Když takto aktualizujete manifest nasazení, zařízení IoT Edge, která jsou připojená k aplikaci IoT Central, si ho stáhnutím a aktualizací modulů na zařízení.

Použití Azure Functions na hraničních zařízeních

1.

Kde můžete spustit funkci Azure?

2.

Jaká je role směrování v manifestu nasazení?