Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Reguły w usłudze IoT Central służą jako narzędzie do dostosowywania odpowiedzi wyzwalające aktywne monitorowane zdarzenia z połączonych urządzeń. W poniższych sekcjach opisano sposób oceniania reguł. Możesz zdefiniować jedną lub więcej akcji, które mają miejsce po wyzwoleniu reguły. W tym artykule opisano wiadomości e-mail, element webhook i grupy akcji usługi Azure Monitor. Aby dowiedzieć się więcej o innych typach akcji, zobacz Integrowanie aplikacji usługi Azure IoT Central z innymi usługami w chmurze przy użyciu przepływów pracy.
Wybieranie urządzeń docelowych
Użyj sekcji Urządzenia docelowe, aby wybrać rodzaj urządzeń, do których ma zastosowanie ta reguła. Filtry umożliwiają dalsze doprecyzowanie, które urządzenia powinny zostać uwzględnione. Filtry wykorzystują właściwości szablonu urządzenia do filtrowania zestawu urządzeń. Same filtry nie wyzwalają akcji. Na poniższym zrzucie ekranu reguła jest przeznaczona dla urządzeń typu lodówka. Filtr stwierdza, że reguła powinna zawierać tylko lodówki , w których właściwość Manufactured State równa Waszyngton.
Korzystanie z wielu warunków
Warunki określają, na których urządzeniach jest wyzwalana reguła. Możesz dodać wiele warunków do reguły i określić, czy reguła powinna być wyzwalana, gdy wszystkie warunki są prawdziwe, czy którekolwiek z warunków są spełnione.
Na poniższym zrzucie ekranu warunki sprawdzają, kiedy temperatura jest większa niż 70° F, a wilgotność jest mniejsza niż 10%. Jeśli dowolne z tych stwierdzeń są prawdziwe, reguła ocenia się jako prawda i wyzwala akcję.
Uwaga
Obecnie obsługiwane są tylko warunki telemetrii.
Używanie właściwości chmury w polu wartości
Można odnieść się do właściwości chmury z szablonu urządzenia w polu Wartość warunku. Właściwość chmury i wartość telemetrii muszą mieć podobne typy. Jeśli na przykład temperatura jest podwójna, na liście rozwijanej Wartość są wyświetlane tylko właściwości chmury typu podwójne.
W przypadku wybrania wartości typu zdarzenia telemetrii, lista rozwijana „Wartość” zawiera opcję „Dowolna”. Opcja Any oznacza, że reguła jest uruchamiana, gdy aplikacja odbiera zdarzenie tego typu, bez względu na zawartość.
Korzystanie z okien agregujących
Możesz określić zagregowanie czasowe, aby uruchomić swoją regułę w oparciu o okno czasowe. Warunki reguły oceniają zagregowane przedziały czasowe na danych telemetrycznych jako okna przeskakujące. Jeśli w regule istnieją jakiekolwiek filtry właściwości, są one stosowane na końcu przedziału czasu. Na poniższym zrzucie ekranu przedział czasu wynosi pięć minut. Co pięć minut reguła ocenia dane telemetryczne z ostatnich pięciu minut. Dane są oceniane tylko raz w oknie, do którego przypada.
Utwórz akcję e-mail
Podczas tworzenia akcji poczty e-mail adres e-mail musi być identyfikatorem użytkownika w aplikacji, a użytkownik musi zalogować się do aplikacji co najmniej raz. Możesz również określić notatkę do uwzględnienia w wiadomości e-mail. IoT Central pokazuje przykład, jak wygląda wiadomość e-mail, gdy reguła zostanie wyzwolona.
Utwórz akcję webhook.
Elementy webhook umożliwiają łączenie aplikacji usługi IoT Central z innymi aplikacjami i usługami na potrzeby zdalnego monitorowania i powiadomień. Webhooki automatycznie powiadamiają inne połączone aplikacje i usługi za każdym razem, gdy reguła zostanie uruchomiona w aplikacji IoT Central. Aplikacja usługi IoT Central wysyła żądanie POST do punktu końcowego HTTP innej aplikacji za każdym razem, gdy reguła zostanie wyzwolona. Ładunek danych zawiera informacje o urządzeniu i o aktywacji reguły.
W tym przykładzie połączysz się z narzędziem RequestBin , aby przetestować powiadomienie:
Przejdź do RequestBin.
Wybierz pozycję Utwórz pojemnik na żądanie.
Zaloguj się przy użyciu jednej z dostępnych metod.
W razie potrzeby postępuj zgodnie z instrukcjami, aby utworzyć obszar roboczy RequestBin.
Skopiuj adres URL punktu końcowego RequestBin.
Dodaj akcję do reguły:
Wybierz akcję webhook, wprowadź nazwę wyświetlaną i wklej adres URL RequestBin jako adres URL wywołania zwrotnego.
Zapisz regułę.
Teraz, gdy reguła jest wyzwalana, w RequestBin pojawi się nowe żądanie.
Wymagania dotyczące punktu końcowego HTTPS i protokołu TLS
Gdy URL zwrotnego wywołania używa protokołu HTTPS, usługa IoT Central weryfikuje certyfikat serwera, prezentowany przez punkt końcowy. Punkt końcowy musi być publicznie dostępny, a certyfikat serwera musi być podpisany przez publicznie zaufany urząd certyfikacji. Certyfikaty podpisane samodzielnie oraz certyfikaty wystawione przez prywatny urząd certyfikacji nie są obsługiwane, a w aplikacji IoT Central nie ma możliwości zarejestrowania niestandardowego urzędu certyfikacji.
Jeśli certyfikat nie jest zaufany lub punkt końcowy nie jest dostępny, akcja reguły nie udaje się dostarczyć ładunku webhooka. Na potrzeby testowania hostuj punkt końcowy w usłudze, która dostarcza publicznie uznawany certyfikat (na przykład Azure App Service lub Azure Functions) lub wystaw certyfikat dla własnej domeny z publicznego urzędu certyfikacji.
Ładunek
Gdy reguła jest wyzwalana, wysyła żądanie HTTP POST do adresu URL wywołania zwrotnego. Żądanie zawiera ładunek JSON ze szczegółami telemetrii, urządzenia, reguły i aplikacji. Ładunek wygląda podobnie do następującego fragmentu kodu JSON:
{
"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"
}
}
Jeśli reguła monitoruje zagregowane dane telemetryczne w danym okresie, ładunek zawiera sekcję telemetrii, która wygląda następująco:
{
"telemetry": {
"<interface_instance_name>": {
"Humidity": {
"avg": 39.5
}
}
}
}
Powiadomienie o zmianie formatu danych
Jeśli masz jeden lub więcej webhooków utworzonych i zapisanych przed 3 kwietnia 2020 r., usuń ten webhook i utwórz nowy. Starsze webhooki używają przestarzałego formatu payloadu.
{
"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>"
}
}
Utwórz akcję grupową w usłudze Azure Monitor
W tej sekcji opisano sposób dołączania wielu akcji do reguły usługi IoT Central za pomocą grup akcji usługi Azure Monitor. Grupę akcji można przypisać do wielu reguł. Grupa działań to zbiór preferencji powiadomień określonych przez właściciela subskrypcji usługi Azure.
Grupy akcji można tworzyć i zarządzać nimi w witrynie Azure Portal lub przy użyciu szablonu usługi Azure Resource Manager.
Grupa akcji może:
- Wysyłanie powiadomień, takich jak wiadomość e-mail, wiadomość SMS lub nawiązywanie połączenia głosowego.
- Uruchom akcję, taką jak wywoływanie webhooka.
Poniższy zrzut ekranu przedstawia grupę akcji, która wysyła powiadomienia e-mail i sms oraz wywołuje element webhook:
Aby użyć grupy akcji w regule usługi IoT Central, grupa akcji musi znajdować się w tej samej subskrypcji platformy Azure co aplikacja usługi IoT Central.
Po dodaniu akcji do reguły w usłudze IoT Central wybierz Grupy akcji Azure Monitor.
Wybierz grupę akcji z subskrypcji platformy Azure:
Wybierz pozycję Zapisz. Grupa akcji jest teraz wyświetlana na liście akcji, które mają zostać uruchomione, kiedy reguła zostanie wyzwolona.
Poniższa tabela zawiera podsumowanie informacji wysyłanych do obsługiwanych typów akcji:
| Typ akcji | Format wyjściowy |
|---|---|
| Szablon wiadomości e-mail usługi IoT Central w warstwie Standardowa | |
| SMS | Alert usługi Azure IoT Central: ${applicationName} - "${ruleName}" triggered on "${deviceName}" at ${triggerDate} ${triggerTime} |
| Voice | Alert usługi Azure IoT Central: reguła "${ruleName}" triggered on device "${deviceName}" at ${triggerDate} ${triggerTime}, in application ${applicationName} |
| Webhook | { "schemaId" : "AzureIoTCentralRuleWebhook", "data": {"regular webhook payload"}} |
Poniższy tekst to przykładowa wiadomość SMS z grupy akcji:
iotcentral: Azure IoT Central alert: Contoso - "Low pressure alert" triggered on "Motion sensor 2" at March 20, 2019 10:12 UTC
Używanie reguł z modułami usługi IoT Edge
Ograniczenie dotyczy reguł stosowanych do modułów usługi IoT Edge. Zasady dotyczące telemetrii z różnych modułów nie są uznawane za prawidłowe. W poniższym przykładzie pierwszy warunek reguły dotyczy danych telemetrycznych temperatury z modułu A. Drugi warunek reguły dotyczy telemetrii wilgotności w module B. Ponieważ dwa warunki pochodzą z różnych modułów, masz nieprawidłowy zestaw warunków. Reguła jest nieprawidłowa i zgłasza błąd podczas próby zapisania reguły.
Następne kroki
Teraz, gdy wiesz, jak skonfigurować regułę w aplikacji usługi Azure IoT Central, możesz dowiedzieć się, jak skonfigurować zaawansowane reguły przy użyciu usługi Power Automate lub Azure Logic Apps.