Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Byla vydána nová verze služby Azure Digital Twins. Vzhledem k rozšířeným funkcím nové služby se původní služba Azure Digital Twins (popsaná v této sadě dokumentace) vyřadila z provozu.
Pokud chcete zobrazit dokumentaci k nové službě, navštivte aktivní dokumentaci ke službě Azure Digital Twins.
Azure Digital Twins nabízí pokročilé výpočetní funkce. Vývojáři můžou definovat a spouštět vlastní funkce pro příchozí zprávy telemetrie, které posílají události do předdefinovaných koncových bodů.
Tok zpracování dat
Jakmile zařízení posílají telemetrická data do služby Azure Digital Twins, můžou vývojáři zpracovávat data ve čtyřech fázích: ověřovat, odpovídat, výpočetníma dispatch.
- Fáze ověření transformuje příchozí telemetrickou zprávu do běžně srozumitelného objektu přenosu dat. Tato fáze také provádí ověřování zařízení a senzorů.
- Fáze shody nalezne příslušné funkce definované uživatelem ke spuštění. Předdefinovaní odpovídači najdou uživatelsky definované funkce na základě informací o zařízeních, senzorech a prostorech z příchozí telemetrické zprávy.
- Výpočetní fáze spouští uživatelsky definované funkce vybrané v předchozí fázi. Tyto funkce můžou číst a aktualizovat vypočítané hodnoty na uzlech prostorového grafu a můžou generovat vlastní oznámení.
- Fáze odeslání směruje všechna vlastní oznámení z výpočetní fáze do koncových bodů definovaných v grafu.
Objekty zpracování dat
Zpracování dat ve službě Azure Digital Twins se skládá z definování tří objektů: matcherů, uživatelem definovaných funkcía přiřazení rolí .
Porovnávací nástroje
Matchers definují sadu podmínek, které vyhodnocují, jaké akce se provádějí na základě příchozí telemetrie snímačů. Podmínky pro detekci shody můžou zahrnovat vlastnosti senzoru, jeho nadřazeného zařízení a nadřazeného prostoru. Podmínky jsou vyjádřeny jako porovnání s cestou JSON , jak je uvedeno v tomto příkladu:
- Všechny senzory datového typu Temperature reprezentované hodnotou escaped String
\"Temperature\" - Mít
01na jejich portu - Která patří zařízením s rozšířeným klíčem vlastnosti Manufacturer nastaveným na hodnotu escaped string
\"Contoso\" - Které patří do prostor typu určeného ohraničeným řetězcem
\"Venue\" - Které jsou potomky rodiče SpaceId
DE8F06CA-1138-4AD7-89F4-F782CC6F69FD
{
"id": "23535afafd-f39b-46c0-9b0c-0dd3892a1c30",
"name": "My custom matcher",
"spaceId": "DE8F06CA-1138-4AD7-89F4-F782CC6F69FD",
"description": "All sensors of datatype Temperature with 01 in their port that belong to devices with the extended property key Manufacturer set to the value Contoso and that belong to spaces of type Venue that are somewhere below space Id DE8F06CA-1138-4AD7-89F4-F782CC6F69FD",
"conditions": [
{
"id": "43898sg43-e15a-4e9c-abb8-2gw464364",
"target": "Sensor",
"path": "$.dataType",
"value": "\"Temperature\"",
"comparison": "Equals"
},
{
"id": "wt3th44-e15a-35sg-seg3-235wf3ga463",
"target": "Sensor",
"path": "$.port",
"value": "01",
"comparison": "Contains"
},
{
"id": "735hs33-e15a-37jj-23532-db901d550af5",
"target": "SensorDevice",
"path": "$.properties[?(@.name == 'Manufacturer')].value",
"value": "\"Contoso\"",
"comparison": "Equals"
},
{
"id": "222325-e15a-49fg-5744-463643644",
"target": "SensorSpace",
"path": "$.type",
"value": "\"Venue\"",
"comparison": "Equals"
}
]
}
Důležité
- V cestách JSON se rozlišují malá a velká písmena.
- Datová část JSON je stejná jako datová část vrácená:
-
/sensors/{id}?includes=properties,typespro senzor. -
/devices/{id}?includes=properties,types,sensors,sensorsproperties,sensorstypespro nadřazené zařízení senzoru. -
/spaces/{id}?includes=properties,types,location,timezonepro hlavní prostor senzoru.
-
- Při porovnávání se nerozlišují malá a velká písmena.
Uživatelem definované funkce
Uživatelem definovaná funkce je vlastní funkce spuštěná v izolovaném prostředí Azure Digital Twins. Uživatelem definované funkce mají přístup k nezpracované telemetrické zprávě senzoru při jejich přijetí. Uživatelem definované funkce mají také přístup k prostorovému grafu a službě dispečera. Po registraci uživatelem definované funkce v grafu musí být vytvořen porovnávač (zmíněný výše ), který určí, kdy se funkce spustí. Když například Azure Digital Twins přijme novou telemetrii z daného senzoru, může odpovídající uživatelem definovaná funkce vypočítat klouzavý průměr posledních několika čtení senzorů.
Uživatelem definované funkce lze psát v JavaScriptu. Pomocné metody pracují s grafem v uživatelsky definovaném spouštěcím prostředí. Vývojáři můžou spouštět vlastní fragmenty kódu proti zprávám telemetrie senzorů. Mezi příklady patří:
- Nastavte senzor pro čtení přímo na objekt senzoru v grafu.
- Proveďte akci na základě různých čtení senzorů v prostoru v grafu.
- Vytvořte oznámení, pokud jsou splněny určité podmínky pro čtení příchozího senzoru.
- Před odesláním oznámení připojte metadata grafu ke čtení senzoru.
Další informace najdete v Jak používat uživatelem definované funkce.
Příklady
Úložiště GitHubu pro ukázku Digital Twins C# obsahuje několik příkladů uživatelsky definovaných funkcí.
- Tato funkce hledá hodnoty oxidu uhličitého, pohybu a teploty, aby bylo možné určit, jestli je místnost k dispozici s těmito hodnotami v rozsahu. Kurzy pro službu Digital Twins prozkoumají tuto funkci podrobněji.
- Tato funkce hledá data z více snímačů pohybu a určuje, že prostor je k dispozici, pokud žádný z nich nezjistí žádný pohyb. Uživatelem definovanou funkci používanou v rychlém startunebo kurzechmůžete snadno nahradit provedením změn uvedených v části komentářů v rámci souboru.
Přiřazení role
Akce uživatelem definované funkce podléhají službě Azure Digital Twins řízení přístupu na základě role k zabezpečení dat v rámci služby. Přiřazení rolí definují, které uživatelem definované funkce mají správná oprávnění pro interakci s prostorovým grafem a jejími entitami. Například uživatelem definovaná funkce může mít možnost a oprávnění k CREATE, READ, UPDATEnebo DELETE grafová data v daném prostoru. Úroveň přístupu uživatelem definované funkce se kontroluje, když uživatelem definovaná funkce požádá graf o data nebo se pokusí o akci. Další informace najdete v tématu řízení přístupu na základě role.
Je možné, že nástroj pro porovnávání aktivuje uživatelem definovanou funkci, která nemá přiřazení rolí. V tomto případě se funkce definovaná uživatelem nepodaří načíst žádná data z grafu.
Další kroky
Další informace o směrování událostí a telemetrických zpráv do jiných služeb Azure najdete v tématu Směrování událostí a zpráv.
Další informace o vytváření shodných funkcí, uživatelem definovaných funkcí a přiřazení rolí najdete v Příručce k používání uživatelem definovaných funkcí.
Projděte si referenční dokumentaci klientské knihovny uživatelsky definovaných funkcí .