Szabályok konfigurálása

Az IoT Central szabályai testre szabható válaszeszközként szolgálnak, amely aktiválja a csatlakoztatott eszközök aktívan figyelt eseményeit. A következő szakaszok a szabályok kiértékelésének módját ismertetik. Meghatározhat egy vagy több olyan műveletet, amely egy szabály aktiválásakor történik. Ez a cikk az e-maileket, a webhookokat és az Azure Monitor-műveletcsoportokat ismerteti. További információ az egyéb művelettípusokról: Munkafolyamatok használata az Azure IoT Central-alkalmazás más felhőszolgáltatásokkal való integrálásához.

Céleszközök kiválasztása

A céleszközök szakaszban kiválaszthatja, hogy a szabály mely eszközökre vonatkozik. A szűrőkkel tovább pontosíthatja, hogy mely eszközöket kell tartalmaznia. A szűrők az eszközsablon tulajdonságaival szűrik az eszközkészletet. Maguk a szűrők nem aktiválnak műveletet. Az alábbi képernyőképen a szabály a Hűtőszekrény eszközöket célozza meg. A szűrő azt állítja, hogy a szabálynak csak olyan hűtőszekrényeket kell tartalmaznia, amelyekben a Gyártott állam tulajdonság Washingtonnal egyenlő.

Screenshot that shows a filter definition in a rule.

Több feltétel használata

A feltételek határozzák meg, hogy a szabály mely eszközökön aktiválódik. Több feltételt is hozzáadhat egy szabályhoz, és megadhatja, hogy a szabály akkor aktiválódik-e, ha az összes feltétel igaz, vagy a feltételek bármelyike igaz.

Az alábbi képernyőképen a feltételek ellenőrzik, hogy a hőmérséklet nagyobb-e, mint 70° F, és a páratartalom kisebb, mint 10%. Ha bármelyik állítás igaz, a szabály igaz értéket ad, és elindít egy műveletet.

Screenshot shows a refrigerator monitor with conditions specified for temperature and humidity.

Megjegyzés:

Jelenleg csak a telemetriai feltételek támogatottak.

Felhőtulajdonság használata értékmezőben

Egy feltétel Érték mezőjében található eszközsablonból hivatkozhat egy felhőtulajdonságra. A felhőtulajdonságnak és a telemetriai értéknek hasonló típusúnak kell lennie. Ha például a Hőmérséklet dupla, akkor csak a dupla típusú felhőtulajdonságok jelennek meg az Érték legördülő menü beállításaiként.

Ha egy eseménytípus telemetriai értékét választja, az Érték legördülő listában szerepel az Any lehetőség. A Bármely beállítás azt jelenti, hogy a szabály akkor aktiválódik, amikor az alkalmazás ilyen típusú eseményt kap, függetlenül a hasznos adatoktól.

Összesített ablakozás használata

Időösszesítést is megadhat a szabály időablakon alapuló aktiválásához. A szabályfeltételek a telemetriai adatok összesített időablakait ugróablakként értékelik ki. Ha vannak tulajdonságszűrők a szabályban, azok az időablak végén lesznek alkalmazva. Az alábbi képernyőképen az időablak öt perc. A szabály öt percenként kiértékeli a telemetriai adatok utolsó öt percét. Az adatok kiértékelése csak egyszer történik abban az ablakban, amelynek megfelel.

A diagram showing how tumbling windows are defined.

E-mail-művelet létrehozása

E-mail-művelet létrehozásakor az e-mail-címnek felhasználói azonosítónak kell lennie az alkalmazásban, és a felhasználónak legalább egyszer be kell jelentkeznie az alkalmazásba. Megadhatja az e-mailbe felvenni kívánt megjegyzést is. Az IoT Central egy példát mutat be arra, hogyan néz ki az e-mail, amikor a szabály aktiválódik:

Screenshot that shows an email action for a rule.

Webhook-művelet létrehozása

A webhookok lehetővé teszik az IoT Central-alkalmazás csatlakoztatását más alkalmazásokhoz és szolgáltatásokhoz távoli monitorozáshoz és értesítésekhez. A webhookok automatikusan értesítik a csatlakozó egyéb alkalmazásokat és szolgáltatásokat, amikor egy szabály aktiválódik az IoT Central-alkalmazásban. Az IoT Central-alkalmazás post kérést küld a másik alkalmazás HTTP-végpontjára, amikor egy szabály aktiválódik. A hasznos adat az eszköz adatait és a szabályindító részleteit tartalmazza.

Ebben a példában az értesítés teszteléséhez csatlakozik a RequestBinhez :

  1. Lépjen a RequestBinre.

  2. Válassza a RequestBin létrehozása lehetőséget.

  3. Jelentkezzen be az elérhető módszerek egyikével.

  4. Másolja ki a RequestBin-végpont URL-címét.

  5. Művelet hozzáadása a szabályhoz:

    Screenshot that shows the webhook creation screen.

  6. Válassza ki a webhook műveletet, adjon meg egy megjelenítendő nevet, és illessze be a RequestBin URL-címet visszahívási URL-címként.

  7. Mentse a szabályt.

Most, amikor a szabály aktiválódik, megjelenik egy új kérés a RequestBinben.

Hasznos adat

Amikor egy szabály aktiválódik, HTTP POST-kérést küld a visszahívási URL-címre. A kérelem tartalmaz egy JSON-hasznos adatot, amely tartalmazza a telemetriát, az eszközt, a szabályt és az alkalmazás részleteit. A hasznos adatok a következő JSON-kódrészlethez hasonlóan néznek ki:

{
    "timestamp": "2020-04-06T00:20:15.06Z",
    "action": {
        "id": "<id>",
        "type": "WebhookAction",
        "rules": [
            "<rule_id>"
        ],
        "displayName": "Webhook 1",
        "url": "<callback_url>"
    },
    "application": {
        "id": "<application_id>",
        "displayName": "Contoso",
        "subdomain": "contoso",
        "host": "contoso.azureiotcentral.com"
    },
    "device": {
        "id": "<device_id>",
        "etag": "<etag>",
        "displayName": "Refrigerator Monitor - 1yl6vvhax6c",
        "instanceOf": "<device_template_id>",
        "simulated": true,
        "provisioned": true,
        "approved": true,
        "cloudProperties": {
            "City": {
                "value": "Seattle"
            }
        },
        "properties": {
            "deviceinfo": {
                "firmwareVersion": {
                    "value": "1.0.0"
                }
            }
        },
        "telemetry": {
            "<interface_instance_name>": {
                "humidity": {
                    "value": 47.33228889360127
                }
            }
        }
    },
    "rule": {
        "id": "<rule_id>",
        "displayName": "Humidity monitor"
    }
}

Ha a szabály egy adott időszakban figyeli az összesített telemetriát, a hasznos adat egy telemetriaszakaszt tartalmaz, amely a következőképpen néz ki:

{
    "telemetry": {
        "<interface_instance_name>": {
            "Humidity": {
                "avg": 39.5
            }
        }
    }
}

Adatformátum változási értesítése

Ha 2020. április 3. előtt létrehozott és mentett egy vagy több webhookot, törölje a webhookot, és hozzon létre egy újat. A régebbi webhookok elavult hasznos adatformátumot használnak:

{
    "id": "<id>",
    "displayName": "Webhook 1",
    "timestamp": "2019-10-24T18:27:13.538Z",
    "rule": {
        "id": "<id>",
        "displayName": "High temp alert",
        "enabled": true
    },
    "device": {
        "id": "rm1",
        "displayName": "Refrigerator Monitor - rm1",
        "instanceOf": "<device-template-id>",
        "simulated": true,
        "provisioned": true,
        "approved": true
    },
    "data": [{
        "@id": "<id>",
        "@type": ["Telemetry"],
        "name": "temperature",
        "displayName": "Temperature",
        "value": 66.27310467496761,
        "interfaceInstanceName": "sensors"
    }],
    "application": {
        "id": "<id>",
        "displayName": "x - Store Analytics Checkout",
        "subdomain": "<subdomain>",
        "host": "<host>"
    }
}

Azure Monitor-csoportművelet létrehozása

Ez a szakasz azt ismerteti, hogyan csatolhat több műveletet egy IoT Central-szabályhoz az Azure Monitorműveleti csoportjaival. Egy műveletcsoportot több szabályhoz is csatolhat. A műveletcsoport egy Azure-előfizetés tulajdonosa által meghatározott értesítési beállítások gyűjteménye.

Műveletcsoportokat az Azure Portalon vagy egy Azure Resource Manager-sablonnal hozhat létre és kezelhet.

A műveletcsoportok a következő műveletekre képesek:

  • Értesítéseket küldhet, például e-mailt, SMS-t vagy hanghívást kezdeményezhet.
  • Futtasson egy műveletet, például egy webhook meghívását.

Az alábbi képernyőképen egy műveletcsoport látható, amely e-mail- és SMS-értesítéseket küld, és webhookot hív meg:

Screenshot that shows an action group in the Azure portal.

Ha egy műveletcsoportot egy IoT Central-szabályban szeretne használni, a műveletcsoportnak ugyanabban az Azure-előfizetésben kell lennie, mint az IoT Central-alkalmazás.

Amikor műveletet ad hozzá a szabályhoz az IoT Centralban, válassza az Azure Monitor műveleti csoportjait.

Válasszon egy műveletcsoportot az Azure-előfizetésből:

Screenshot that shows an action group in an IoT Central rule.

Válassza a Mentés parancsot. A műveletcsoport ekkor megjelenik a szabály aktiválásakor futtatandó műveletek listájában.

Az alábbi táblázat a támogatott művelettípusoknak küldött információkat foglalja össze:

Művelettípus Kimeneti formátum
E-mail Standard IoT Central e-mail sablon
SMS Azure IoT Central-riasztás: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime}
Hang Azure I.O.T Central-riasztás: szabály "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName}
Webhook { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}}

Az alábbi szöveg egy példa SMS-üzenet egy műveletcsoportból:

iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC

Szabályok használata IoT Edge-modulokkal

A korlátozás az IoT Edge-modulokra alkalmazott szabályokra vonatkozik. A különböző modulokból származó telemetriára vonatkozó szabályok nem minősülnek érvényes szabálynak. Az alábbi példában a szabály első feltétele az A modulból származó hőmérséklet-telemetriai adatokon van. A szabály második feltétele a B modul páratartalom-telemetriai adatai. Mivel a két feltétel különböző modulokból származik, érvénytelen feltételkészlettel rendelkezik. A szabály érvénytelen, és hibát jelez a szabály mentésekor.

Következő lépések

Most, hogy megtanulta, hogyan konfigurálhat egy szabályt az Azure IoT Central-alkalmazásban, megtudhatja, hogyan konfigurálhat speciális szabályokat a Power Automate vagy az Azure Logic Apps használatával.