Kurz: Sestavení end-to-end řešení
Tento Azure Digital Twins popisuje, jak vytvořit koncové řešení, které předvede funkce služby. Pokud chcete nastavit kompletní řešení založené na živých datech z vašeho prostředí, můžete připojit instanci Azure Digital Twins k jiným službám Azure pro správu zařízení a dat.
V tomto kurzu budete...
- Nastavení instance Azure Digital Twins
- Seznamte se se scénářem ukázkového sestavení a vytvořením instancí předem napsaných komponent.
- Použití Azure Functions aplikace ke směrování simulované telemetrie ze zařízení IoT Hub do vlastností digitálního dvojčete
- Šíření změn prostřednictvím grafu dvojčat zpracováním oznámení digitálních dvojčat pomocí Azure Functions, koncových bodů a tras
Požadavky
Pokud chcete dokončit kroky v tomto kurzu, musíte nejprve dokončit následující požadavky.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Získání požadovaných prostředků
K dokončení tohoto kurzu nainstalujte Visual Studio 2019verze 16.5 nebo novější na počítač pro vývoj. Pokud už máte nainstalovanou starší verzi, můžete aplikaci Instalační program pro Visual Studio na svém počítači otevřít a podle pokynů aktualizovat instalaci.
Poznámka
Ujistěte se, že Visual Studio 2019 zahrnuje úlohu Vývoj pro Azure. Tato úloha umožňuje aplikaci publikovat funkce Azure a provádět další úlohy vývoje v Azure.
Tento kurz je řízený Azure Digital Twins a koncovým ukázkovým projektem napsaným v jazyce C#. Přejděte na ukázkový odkaz a pod nadpisem vyberte tlačítko Browse code (Procházet kód) a získejte ukázkový projekt na svém počítači. Tím se přetáhnete do GitHub pro ukázky, které si můžete stáhnout jako .zip výběrem tlačítka Kód a pak stáhnout ZIP.
Tím se do .zip stáhne složka s názvem digital-twins-samples-master.zip. Rozbalte složku a extrahujte soubory.
Příprava Azure Digital Twins instance
Pokud chcete s Azure Digital Twins v tomto článku pracovat, musíte nejprve nastavit instanci Azure Digital Twins . Potřebujete také požadovaná oprávnění k jeho použití. Pokud už máte instanci Azure Digital Twins, můžete ji použít.
Jinak postupujte podle pokynů v tématu Nastavení instance a ověřování. Pokyny obsahují informace, které vám pomůžou ověřit, že jste jednotlivé kroky úspěšně dokončili.
Po nastavení instance si poznamenejte následující hodnoty. Tyto hodnoty budete potřebovat pro připojení k instanci později:
- Název hostitele instance. Název hostitele najdete v části Azure Portal.
- Předplatné Azure, které jste použili k vytvoření instance. Bude fungovat jeho název nebo ID. Předplatné najdete na stránce Přehled vaší instance v Azure Portal .
Příprava prostředí pro rozhraní příkazového řádku Azure
V nástroji použijte prostředí Bash Azure Cloud Shell.
Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení jsou popsané v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Nastavení Cloud Shell relace
Aby bylo možné začít pracovat s digitálními událostmi Azure v otevřeném Azure Cloud Shell , první věc, kterou je třeba provést, se přihlaste a nastavte kontext prostředí na vaše předplatné pro tuto relaci. Spusťte tyto příkazy v Cloud Shell:
az login
az account set --subscription "<your-Azure-subscription-ID>"
Tip
Místo ID ve výše uvedeném příkazu můžete také použít svůj název vašeho předplatného.
Pokud jste toto předplatné použili u digitálních vláken Azure jako první, spusťte tento příkaz a zaregistrujte se do oboru názvů digitálních vláken Azure. (Pokud si nejste jistí, můžete ji znovu spustit i v případě, že jste to udělali za nějakou dobu v minulosti.)
az provider register --namespace 'Microsoft.DigitalTwins'
Dále přidáte Microsoft Azure rozšíření IoT pro Azure CLI do vašeho Cloud Shell, abyste povolili příkazy pro interakci s digitálními interakcemi Azure a dalšími službami IoT. Spusťte tento příkaz, abyste se ujistili, že máte nejnovější verzi rozšíření:
az extension add --upgrade --name azure-iot
Nyní jste připraveni pracovat s digitálními úkoly Azure v Cloud Shell.
Můžete to ověřit tak, že je spustíte kdykoli az dt --help a zobrazí se seznam dostupných příkazů digitálního vlákna Azure na nejvyšší úrovni.
Konfigurace ukázkového projektu
Dále nastavte ukázkovou klientskou aplikaci, která bude pracovat s vaší instancí digitálních vláken Azure.
Přejděte na počítač do souboru, který jste dříve stáhli z digitálních vláken Azure, a kompletních ukázek (a rozbalte je, pokud jste to ještě neudělali).
Ve složce přejděte do AdtSampleApp. Otevřete AdtE2ESample. sln v aplikaci Visual Studio 2019.
V aplikaci Visual Studio vyberte SampleClientApp > appsettings.jsv souboru, aby se otevřela v okně pro úpravy. Tato akce bude sloužit jako předem nastavený soubor JSON s nezbytnými konfiguračními proměnnými pro spuštění projektu.
V těle souboru přejděte na instanceUrl adresu URL názvu hostitele instance digitálního vlákna Azure (přidáním https:// před název hostitele, jak je znázorněno níže).
{
"instanceUrl": "https://<your-Azure-Digital-Twins-instance-host-name>"
}
Uložte soubor a zavřete ho.
Dále nakonfigurujte appsettings.js pro soubor, který se má zkopírovat do výstupního adresáře při sestavování SampleClientApp. Provedete to tak, že v souboru kliknete pravým tlačítkem na appsettings.js a zvolíte vlastnosti. V inspektoru vlastností vyhledejte vlastnost Kopírovat do výstupního adresáře . Změňte hodnotu na Kopírovat, pokud není novější , pokud už není nastavená na.
Nechejte projekt AdtE2ESample otevřený v aplikaci Visual Studio, abyste ho mohli dál používat v tomto kurzu.
Nastavení místních přihlašovacích údajů Azure
Tato ukázka používá DefaultAzureCredential (součást knihovny) k ověřování uživatelů pomocí Azure Digital Twins, když ji spustíte Azure.Identity na místním počítači. Další informace o různých způsobech ověřování klientských aplikací pomocí Azure Digital Twins najdete v tématu Psaní ověřovacího kódu aplikace.
V DefaultAzureCredential případě bude ukázka Hledat přihlašovací údaje v místním prostředí, jako je například přihlášení k Azure v místním rozhraní příkazového řádku Azure nebo v aplikaci Visual Studio nebo Visual Studio Code. Z tohoto důvodu byste se měli přihlásit k Azure místně prostřednictvím jednoho z těchto mechanismů a nastavit přihlašovací údaje pro ukázku.
Pokud používáte aplikaci Visual Studio nebo Visual Studio Code ke spuštění ukázky kódu, ujistěte se, že jste přihlášeni k tomuto editoru se stejnými přihlašovacími údaji Azure, které chcete použít pro přístup k instanci digitálních vláken Azure.
V opačném případě můžete nainstalovat místní rozhranípříkazového řádku Azure, spustit příkazový řádek na svém počítači a spustit az login příkaz pro přihlášení k účtu Azure. Po přihlášení si můžete při spuštění ukázky kódu automaticky přihlásit.
Začínáme se scénářem sestavování
Ukázkový projekt použitý v tomto kurzu představuje skutečný scénář budovy obsahující podlaží, místnost a termostatové zařízení. Tyto komponenty budou digitálně reprezentovány v instanci Azure Digital Twins, která bude následně připojena k IoT Hub, Event Grida dvěma funkcím Azure, které umožní přesun dat.
Níže je diagram představující celý scénář.
Nejprve vytvoříte instanci Azure Digital Twins (část A v diagramu), pak nastavíte tok telemetrických dat do digitálních dvojčat ( šipka B) a potom nastavíte šíření dat prostřednictvím grafu dvojčete (šipka C).
Abyste si scénář prošli, budete pracovat s komponentami předem napsané ukázkové aplikace, kterou jste si stáhli dříve.
Tady jsou komponenty implementované ukázkovou aplikací AdtSampleApp pro scénář sestavení:
- Ověřování zařízení
- Příklady použití sady .NET (C#) SDK (najdete v souboru CommandLoop.cs)
- Rozhraní konzoly pro volání rozhraní AZURE DIGITAL TWINS API
- SampleClientApp – ukázkové Azure Digital Twins řešení
- SampleFunctionsApp – Azure Functions aplikace, která aktualizuje váš Azure Digital Twins graf na základě telemetrie z IoT Hub a Azure Digital Twins událostí
Vytvoření instance grafu předem vytvořených dvojčat
Nejprve pomocí řešení AdtSampleApp z ukázkového projektu sestavíte Azure Digital Twins scénáře od konce (část A):
V okně Visual Studio, kde je projekt AdtE2ESample otevřený, spusťte projekt s tímto tlačítkem na panelu nástrojů:
Otevře se okno konzoly, provede se ověření a počká na příkaz. V této konzole spusťte další příkaz, který vytvoří instanci ukázkového Azure Digital Twins řešení.
Důležité
Pokud už máte v instanci služby Azure Digital Twins digitální dvojčata a relace, spuštěním tohoto příkazu je odstraníte a nahradíte je dvojčaty a relacemi pro ukázkový scénář.
SetupBuildingScenario
Výstupem tohoto příkazu je řada potvrzovacích zpráv, protože se ve vaší instanci Azure Digital Twins vytvoří a připojí tři digitální dvojčata: podlaží s názvem floor1, místnost s názvem room21 a senzor teploty s názvem thermostat67. Tato digitální dvojčata představují entity, které by existovaly v reálném prostředí.
Jsou propojené prostřednictvím relací do následujícího grafu dvojčat. Graf dvojčat představuje prostředí jako celek, včetně toho, jak entity vzájemně komunikují a vzájemně souvisí.
Vytvořená dvojčata můžete ověřit spuštěním následujícího příkazu, který se dotazuje připojené instance Azure Digital Twins všech digitálních dvojčat, která obsahuje:
Query
Poznámka
Po provedení změny dat v grafu může být latence až 10 sekund, než se změny projeví v dotazech.
Rozhraní API pro DigitalTwins odráží změny okamžitě, takže pokud potřebujete okamžitou reakci, použijte požadavek rozhraní API (DigitalTwins GetById) nebo volání sady SDK (GetDigitalTwin), abyste mohli místo dotazu získat dvojitá data.
Teď můžete projekt zastavit. Nechte ale řešení otevřené Visual Studio, protože ho budete dál používat v celém kurzu.
Nastavení ukázkové aplikace funkcí
Dalším krokem je nastavení aplikace Azure Functions, která se bude používat v tomto kurzu ke zpracování dat. Aplikace funkcí SampleFunctionsApp obsahuje dvě funkce:
- ProcessHubToDTEvents: zpracuje příchozí IoT Hub dat a aktualizací Azure Digital Twins odpovídajícím způsobem.
- ProcessDTRoutedData: Zpracovává data z digitálních dvojčat a odpovídajícím způsobem Azure Digital Twins nadřazená dvojčata.
V této části publikujete předem napsané aplikace funkcí a zajistíte, aby aplikace funkcí měla přístup k Azure Digital Twins tím, že jí přiřadíte identitu Azure Active Directory (Azure AD). Dokončením těchto kroků umožníte ve zbývající části kurzu používat funkce v aplikaci funkcí.
V okně Visual Studio, kde je projekt AdtE2ESample otevřený, se aplikace funkcí nachází v souboru projektu SampleFunctionsApp. Můžete ho zobrazit v Průzkumník řešení podokně.
Aktualizace závislostí
Před publikováním aplikace je vhodné se ujistit, že jsou závislosti aktuální, abyste měli jistotu, že máte nejnovější verzi všech zahrnutých balíčků.
V podokně Průzkumník řešení rozbalte SampleFunctionsApp > Závislosti. Pravým tlačítkem vyberte Packages (Balíčky) a zvolte Manage NuGet Packages... (Spravovat balíčky...).
Tím se otevře NuGet Správce balíčků. Vyberte kartu Aktualizace a pokud existují balíčky, které se mají aktualizovat, zaškrtněte políčko Vybrat všechny balíčky. Pak vyberte Aktualizovat.
Publikování aplikace
Pokud chcete publikovat aplikaci funkcí do Azure, musíte nejprve vytvořit účet úložiště, pak vytvořit aplikaci funkcí v Azure a nakonec publikovat funkce do aplikace funkcí Azure. Tato část tyto akce dokončí pomocí Azure CLI.
Vytvořte účet úložiště Azure spuštěním následujícího příkazu:
az storage account create --name <name-for-new-storage-account> --location <location> --resource-group <resource-group> --sku Standard_LRSSpuštěním následujícího příkazu vytvořte aplikaci funkcí Azure:
az functionapp create --name <name-for-new-function-app> --storage-account <name-of-storage-account-from-previous-step> --consumption-plan-location <location> --runtime dotnet --resource-group <resource-group>V dalším kroku zazipujete funkce a publikujete je do nové aplikace funkcí Azure.
Na místním počítači otevřete terminál, jako je PowerShell, a přejděte Digital Twins, které jste si stáhli dříve v tomto kurzu. Ve stažené složce repo přejděte na digital-twins-samples-master\AdtSampleApp\SampleFunctionsApp.
V terminálu publikujte projekt spuštěním následujícího příkazu:
dotnet publish -c ReleaseTento příkaz publikuje projekt do adresáře digital-twins-samples-master\AdtSampleApp\SampleFunctionsApp\bin\Release\netcoreapp3.1\publish.
Vytvořte soubor zip publikovaných souborů, které jsou umístěné v adresáři digital-twins-samples-master\AdtSampleApp\SampleFunctionsApp\bin\Release\netcoreapp3.1\publish.
Pokud používáte PowerShell, můžete soubor zip vytvořit tak, že zkopírujete úplnou cestu k adresáři \publish a kopírujete ho do následujícího příkazu:
Compress-Archive -Path <full-path-to-publish-directory>\* -DestinationPath .\publish.zipRutina vytvoří soubor publish.zip v adresáři vašeho terminálu, který obsahuje soubor host.json, a také adresáře bin, ProcessDTRoutedData a ProcessHubToDTEvents.
Pokud používáte PowerShell a nemáte přístup k rutině , budete muset soubory zazipovat pomocí souboru
Compress-ArchivePrůzkumník souborů nebo jiné metody.
Spuštěním následujícího příkazu v Azure CLI nasaďte publikované a komprimované funkce do aplikace funkcí Azure:
az functionapp deployment source config-zip --resource-group <resource-group> --name <name-of-your-function-app> --src "<full-path-to-publish.zip>"Poznámka
Pokud používáte Azure CLI místně, můžete k souboru ZIP na počítači přistupovat přímo pomocí jeho cesty na vašem počítači.
Pokud používáte soubor Azure Cloud Shell, nahrajte soubor ZIP do souboru Cloud Shell tlačítkem před spuštěním příkazu :
V takovém případě se soubor nahraje do kořenového adresáře úložiště Cloud Shell, abyste na soubor mohli odkazovat přímo pomocí názvu parametru příkazu
--src(například--src publish.zip).Úspěšné nasazení odpoví stavový kódem 202 a zobrazí objekt JSON obsahující podrobnosti o nové funkci. Úspěšné nasazení můžete ověřit tak, že ve výsledku najdete toto pole:
{ ... "provisioningState": "Succeeded", ... }
Nyní jste publikovali funkce do aplikace funkcí v Azure.
Dále bude vaše aplikace funkcí potřebovat správné oprávnění pro přístup k vaší Azure Digital Twins instanci. Tento přístup nakonfigurujete v další části.
Konfigurace oprávnění pro aplikaci funkcí
Aby aplikace funkcí měla přístup k vaší instanci Azure Digital Twins, je potřeba nastavit dvě nastavení. Obojí je možné provést pomocí Azure CLI.
Přiřazení role přístupu
První nastavení dává aplikaci funkcí roli vlastníka Azure Digital Twins dat v instanci Azure Digital Twins funkcí. Tato role je nutná pro všechny uživatele nebo funkce, které chtějí v instanci provádět mnoho aktivit roviny dat. Další informace o zabezpečení a přiřazení rolí najdete v části Zabezpečení pro Azure Digital Twins řešení.
Pomocí následujícího příkazu zobrazíte podrobnosti o identitě spravované systémem pro funkci. Poznamenejte si pole principalId ve výstupu.
az functionapp identity show --resource-group <your-resource-group> --name <your-function-app-name>Poznámka
Pokud je výsledek prázdný a nezobrazuje podrobnosti o identitě, vytvořte novou identitu spravovanou systémem pro funkci pomocí tohoto příkazu:
az functionapp identity assign --resource-group <your-resource-group> --name <your-function-app-name>Ve výstupu se pak zobrazí podrobnosti o identitě, včetně hodnoty principalId vyžadované pro další krok.
Pomocí hodnoty principalId v následujícím příkazu přiřaďte identitu aplikace funkcí roli Vlastník dat služby Azure Digital Twins pro vaši instanci Azure Digital Twins.
az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<principal-ID>" --role "Azure Digital Twins Data Owner"
Výsledkem tohoto příkazu jsou výstupní informace o přiřazení role, které jste vytvořili. Aplikace funkcí teď má oprávnění pro přístup k datům ve vaší Azure Digital Twins instanci.
Konfigurace nastavení aplikace
Druhé nastavení vytvoří proměnnou prostředí pro funkci s adresou URL vaší Azure Digital Twins instance. Kód funkce bude k odkazování na vaši instanci používat hodnotu této proměnné. Další informace o proměnných prostředí najdete v tématu Správa aplikace funkcí.
Spusťte následující příkaz a zástupné symboly vyplňte podrobnostmi o vašich zdrojích.
az functionapp config appsettings set --resource-group <your-resource-group> --name <your-function-app-name> --settings "ADT_SERVICE_URL=https://<your-Azure-Digital-Twins-instance-host-name>"
Výstupem je seznam nastavení funkce Azure Functions, která by teď měla obsahovat položku s názvem ADT_SERVICE_URL.
Zpracovat simulovanou telemetrii z IoT Hubho zařízení
Graf digitálních vláken Azure by měl být řízený telemetrie z reálných zařízení.
V tomto kroku připojíte simulované zařízení, které je zaregistrované v IoT Hub k digitálnímu vlákna, které představuje v Azure Digital autovlákna. Když simulované zařízení vysílá telemetrii, budou data směrována prostřednictvím funkce ProcessHubToDTEvents Azure, která v digitálním vlákna spustí odpovídající aktualizaci. Tímto způsobem je digitální neaktuálnost v reálném čase díky datům reálného zařízení. V rámci digitálních vláken Azure se proces nasměrování dat událostí z jednoho místa na jiný nazývá Směrování událostí.
Zpracování simulované telemetrie nastane v této části kompletního scénáře (šipka B):
Tady jsou akce, které dokončíte pro nastavení připojení tohoto zařízení:
- Vytvoření služby IoT Hub, která bude spravovat simulované zařízení
- naPřipojeníte službu IoT hub do příslušné funkce Azure tím, že nastavíte odběr událostí.
- Registrace simulovaného zařízení ve službě IoT Hub
- Spuštění simulovaného zařízení a generování telemetrie
- Dotazování na živé výsledky Azure pro zobrazení živých výsledků
Vytvoření instance IoT Hubu
Digitální vlákna Azure je navržená tak, aby fungovala vedle IoT Hub, což je služba Azure pro správu zařízení a jejich dat. V tomto kroku nastavíte centrum IoT, které bude spravovat ukázkové zařízení v tomto kurzu.
V Azure Cloud Shell pomocí tohoto příkazu vytvořte novou IoT Hub:
az iot hub create --name <name-for-your-IoT-hub> --resource-group <your-resource-group> --sku S1
Výstupem tohoto příkazu jsou informace o vytvořeném službě IoT Hub.
Uložte název , který jste přiřadili do služby IoT Hub. Budete jej později potřebovat.
Připojení služby IoT hub ke službě Azure functions
V dalším kroku připojte službu IoT Hub k funkci ProcessHubToDTEvents Azure v aplikaci Function App, kterou jste publikovali dříve, aby se data mohla přesměrovat ze zařízení do IoT Hub prostřednictvím funkce, která aktualizuje digitální vlákna Azure.
Uděláte to tak, že na svém IoT Hub vytvoříte odběr událostí s funkcí Azure Functions jako koncovým bodem. Tato možnost se přihlásí k odběru událostí, která se děje v IoT Hub.
V Azure Portalpřejděte do svého nově vytvořeného centra IoT tak, že na horním panelu vyhledávání vyhledáte jeho název. V nabídce centra vyberte možnost události a vyberte + odběr události.
Když vyberete tuto možnost, zobrazí se stránka vytvořit odběr události .
Vyplňte pole takto (uvedená pole jsou vyplněna jako výchozí):
- Podrobnosti > odběru události Název: zadejte název předplatného události.
- Podrobnosti o tématu > Název systémového tématu: zadejte název, který se má použít pro systémové téma.
- typy událostí > Filtrovat na typy událostí: z možností nabídky vyberte telemetrie zařízení .
- Podrobnosti koncového bodu > Typ koncového bodu: z možností nabídky vyberte Azure Function .
- Podrobnosti koncového bodu > Koncový bod: vyberte odkaz pro Výběr koncového bodu , ve kterém se otevře okno Vybrat Azure Functions :
- Vyplňte svoje předplatné, skupinu prostředků, aplikaci Function App a funkci (ProcessHubToDTEvents). Některé z těchto hodnot můžou po výběru předplatného automaticky naplnit.
- Zvolte Potvrdit výběr.
Zpátky na stránce vytvořit odběr události vyberte vytvořit.
Zaregistrujte simulované zařízení s IoT Hub
V této části se vytvoří reprezentace zařízení v IoT Hub s ID thermostat67. Simulované zařízení se připojí k tomuto znázornění, což znamená, jak budou události telemetrie ze zařízení přecházet do IoT Hub. IoT Hub je místo, kde se přihlašuje předplacená funkce Azure z předchozího kroku, která je připravená na výběr událostí a pokračování v zpracování.
V Azure Cloud Shell vytvořte v IoT Hub zařízení pomocí následujícího příkazu:
az iot hub device-identity create --device-id thermostat67 --hub-name <your-IoT-hub-name> --resource-group <your-resource-group>
Výstupem jsou informace o vytvořeném zařízení.
Konfigurace a spuštění simulace
Následně nakonfigurujte simulátor zařízení, aby posílal data do instance IoT Hubu.
Začněte získáním připojovacího řetězce centra IoT pomocí tohoto příkazu:
az iot hub connection-string show --hub-name <your-IoT-hub-name>
Pak načtěte připojovací řetězec zařízení pomocí tohoto příkazu:
az iot hub device-identity connection-string show --device-id thermostat67 --hub-name <your-IoT-hub-name>
Tyto hodnoty připojíte do kódu simulátoru zařízení v místním projektu a připojíte simulátor do tohoto zařízení IoT Hub a IoT Hub.
v novém okně Visual Studio otevřete (ze stažené složky řešení) simulátor zařízení > DeviceSimulator. sln.
Poznámka
nyní byste měli mít dvě Visual Studio windows, jednu s DeviceSimulator. sln a jednu z předchozích verzí AdtE2ESample. sln.
v podokně Průzkumník řešení v tomto novém Visual Studio okně vyberte DeviceSimulator/AzureIoTHub. cs a otevřete ho v okně pro úpravy. Změňte následující hodnoty připojovacího řetězce na hodnoty, které jste shromáždili výše:
iotHubConnectionString = <your-hub-connection-string>
deviceConnectionString = <your-device-connection-string>
Soubor uložte.
Nyní chcete-li zobrazit výsledky simulace dat, kterou jste nastavili, spusťte projekt DeviceSimulator pomocí tohoto tlačítka na panelu nástrojů:
Otevře se okno konzoly, ve kterém se zobrazí simulované zprávy telemetrie o teplotě. Tyto zprávy jsou odesílány do IoT Hub, kde jsou následně vydány a zpracovány funkcí Azure Functions.
V této konzole nemusíte nic dalšího dělat, ale při provádění dalších kroků ho nechte spuštěný.
Podívejte se na výsledky v části digitální vlákna Azure
Funkce ProcessHubToDTEvents , kterou jste publikovali dříve, naslouchá datům IoT Hub a volá rozhraní API digitálních vláken Azure s cílem aktualizovat vlastnost teploty na thermostat67.
pokud se chcete podívat na data z oblasti digitálních vláken Azure, přejděte do okna Visual Studio, kde je projekt AdtE2ESample otevřený a spusťte projekt.
V okně konzoly projektu, které se otevře, spusťte následující příkaz, který získá teploty hlášené pomocí digitálního vlákna thermostat67:
ObserveProperties thermostat67 Temperature
Měli byste vidět živá aktualizované teploty z instance digitálních vláken Azure , které jsou protokolovány do konzoly každé dvě sekundy.
Poznámka
Může trvat několik sekund, než se data ze zařízení šíří do vlákna. Prvních několika čtení teploty se může zobrazit jako 0 předtím, než se data začnou dorazit.
Po ověření úspěšného fungování protokolování živých teplot můžete zastavit spouštění obou projektů. nechte okna Visual Studio otevřená, jak je budete dál používat ve zbývající části kurzu.
Šíření událostí digitálních vláken Azure pomocí grafu
V tomto kurzu jste se seznámili s tím, jak se digitální vlákna Azure dají aktualizovat z externích dat zařízení. V dalším kroku uvidíte, jak se můžou změny jedné digitální funkce šířit prostřednictvím grafu digitálních vláken Azure – jinými slovy, jak aktualizovat vlákna z interních dat služby.
Uděláte to tak, že použijete funkci ProcessDTRoutedData Azure k aktualizaci vlákna v místnosti, když se aktualizuje připojený termostat. Funkce aktualizace probíhá v této části kompletního scénáře (šipka C):
Tady jsou akce, které dokončíte pro nastavení tohoto toku dat:
- Vytvoření tématu Event gridu umožňující přesun dat mezi službami Azure
- Vytvoření koncového bodu v digitálních událostech Azure, které připojují instanci k tématu Event gridu
- Nastavení trasy v rámci digitálních vláken Azure, které odesílají události změny vlastností do koncového bodu
- Nastavte funkci Azure , která naslouchá na tématu Event gridu v koncovém bodě, přijímá události změny vlastností, které se tam odesílají, a podle toho aktualizuje další vlákna v grafu.
Vytvoření tématu Event gridu
Event Grid je služba Azure, která pomáhá směrovat a doručovat události ze služeb Azure na jiné místo v rámci Azure. Můžete vytvořit téma Event gridu , ve kterém se budou shromažďovat určité události ze zdroje, a potom můžou předplatitelé naslouchat na tématu, aby mohli přijímat události při jejich absolvování.
V Azure Cloud Shell spusťte následující příkaz, který vytvoří téma Event gridu:
az eventgrid topic create --resource-group <your-resource-group> --name <name-for-your-event-grid-topic> --location <region>
Výstupem tohoto příkazu jsou informace o tématu, které jste vytvořili. Uložte název , který jste zadali do tématu Event Grid, protože ho budete používat později.
Vytvoření koncového bodu
Dále vytvořte koncový bod Event Grid v digitálních událostech Azure, které budou vaši instanci připojovat k tématu Event gridu. Použijte následující příkaz a podle potřeby vyplňte název vašeho tématu Event gridu a další Zástupná pole.
az dt endpoint create eventgrid --dt-name <Azure-Digital-Twins-instance> --eventgrid-resource-group <your-resource-group> --eventgrid-topic <your-event-grid-topic> --endpoint-name <name-for-your-Azure-Digital-Twins-endpoint>
Výstupem tohoto příkazu jsou informace o koncovém bodu, který jste vytvořili.
Vyhledejte provisioningState pole ve výstupu a zkontrolujte, zda je hodnota "úspěch".
Může taky vyslovit "zřizování", což znamená, že se koncový bod pořád vytváří. Pokud ano, počkejte několik sekund a spusťte následující příkaz, který zkontroluje stav koncového bodu. Opakujte, dokud se provisioningState zobrazí "úspěšné".
az dt endpoint show --dt-name <your-Azure-Digital-Twins-instance> --endpoint-name <your-Azure-Digital-Twins-endpoint>
Uložte název koncového bodu, protože ho budete používat později.
Vytvoření trasy
Dále vytvořte trasu digitálních vláken Azure, která odešle události do Event Gridho koncového bodu, který jste právě vytvořili.
To se dá udělat pomocí následujícího příkazu CLI (v případě potřeby vyplňte název svého koncového bodu a dalších zástupných polí). Tento příkaz přepošle všechny události, ke kterým dojde ve vyzdvojeném grafu. Můžete omezit události jenom na konkrétní, pokud chcete, pomocí filtrů.
az dt route create --dt-name <your-Azure-Digital-Twins-instance> --endpoint-name <your-Azure-Digital-Twins-endpoint> --route-name <name-for-your-Azure-Digital-Twins-route>
Výstupem z tohoto příkazu jsou některé informace o trasách, které jste vytvořili.
Poznámka
Aby bylo možné nastavit trasu událostí, která je používá, je nutné zajistit zřízení koncových bodů (z předchozího kroku). Pokud se vytvoření trasy nepovede, protože koncové body nejsou připravené, počkejte pár minut a pak to zkuste znovu.
Připojení funkce Azure functions
Dále přihlaste ProcessDTRoutedData funkci Azure do tématu Event gridu, které jste vytvořili dříve, aby data telemetrie mohla být z thermostat67 vyplněna prostřednictvím tématu Event gridu do funkce, která se vrátí do digitálních vláken Azure a odpovídajícím způsobem aktualizuje room21.
Uděláte to tak, že vytvoříte předplatné Event Grid , které odesílá data z tématu Event gridu , které jste vytvořili dříve, do služby Azure Functions v ProcessDTRoutedData .
V Azure Portalpřejděte na téma Event gridu tak, že na horním panelu vyhledávání vyhledáte jeho název. Vyberte + Odběr události.
Postup vytvoření odběru událostí je podobný jako při přihlášení k odběru první funkce Azure, která IoT Hub dříve v tomto kurzu. Tentokrát nemusíte zadávat telemetrii zařízení jako typ události, která se má naslouchat, a Vy se připojíte k jiné funkci Azure Functions.
Na stránce vytvořit odběr události vyplňte pole následujícím způsobem (ve výchozím nastavení jsou uvedená pole vyplněna):
- Podrobnosti > odběru události Název: zadejte název předplatného události.
- Podrobnosti koncového bodu > Typ koncového bodu: z možností nabídky vyberte Azure Function .
- Podrobnosti koncového bodu > Koncový bod: vyberte odkaz pro Výběr koncového bodu , ve kterém se otevře okno Vybrat službu Azure Functions :
- Vyplňte svoje předplatné, skupinu prostředků, aplikaci Function App a funkci (ProcessDTRoutedData). Některé z těchto hodnot můžou po výběru předplatného automaticky naplnit.
- Zvolte Potvrdit výběr.
Zpátky na stránce vytvořit odběr události vyberte vytvořit.
Spustit simulaci a zobrazit výsledky
Události by nyní měly mít schopnost toku ze simulovaného zařízení do digitálních vláken Azure a prostřednictvím grafu digitálních vláken Azure, aby podle potřeby aktualizovala vlákna. V této části znovu spustíte simulátor zařízení, aby se aktivoval celý tok událostí, který jste nastavili, a dotazování digitálních vláken Azure tak, aby se zobrazily výsledky v reálném čase.
přejít do okna Visual Studio, kde je projekt DeviceSimulator otevřený a spusťte projekt.
Podobně jako v případě, že jste dříve spustili simulátor zařízení, okno konzoly otevře a zobrazí simulované zprávy telemetrie o teplotě. Tyto události procházejí tokem, který jste nastavili dříve, abyste aktualizovali thermostat67u, a pak projdete tokem, který jste v poslední době nastavili, aby se shodovala shoda s room21.
V této konzole nemusíte nic dalšího dělat, ale při provádění dalších kroků ho nechte spuštěný.
pokud se chcete podívat na data z oblasti digitálních vláken Azure, přejděte do okna Visual Studio, kde je projekt AdtE2ESample otevřený, a spusťte projekt.
V okně konzoly projektu, které se otevře, spusťte následující příkaz, který získá teploty hlášené digitálním thermostat67em a digitálním room21em.
ObserveProperties thermostat67 Temperature room21 Temperature
Měli byste vidět živá aktualizované teploty z instance digitálních vláken Azure , které jsou protokolovány do konzoly každé dvě sekundy. Všimněte si, že teplota pro room21 se aktualizuje tak, aby odpovídala aktualizacím thermostat67.
Jakmile ověříte, že se protokolování živých teplot z vaší instance úspěšně pracuje, můžete zastavit spouštění obou projektů. Visual Studio okna můžete také zavřít, protože je kurz teď dokončený.
Opakování
Tady je přehled scénáře, který jste vytvořili v tomto kurzu.
- Instance digitálních vláken Azure představuje v následujícím diagramu podlahu, místnost a termostat (reprezentované částí a v diagramu níže).
- Telemetrii simulovaného zařízení se odesílá do IoT Hub, kde ProcessHubToDTEvents funkce Azure naslouchá událostem telemetrie. Funkce ProcessHubToDTEvents Azure používá informace v těchto událostech k nastavení vlastnosti teploty v thermostat67 (šipka B v diagramu).
- Události změny vlastností v digitálních událostech Azure jsou směrované do tématu Event gridu, kde ProcessDTRoutedData funkce Azure naslouchá událostem. Funkce ProcessDTRoutedData Azure používá informace v těchto událostech k nastavení vlastnosti teploty v room21 (šipka C v diagramu).
Vyčištění prostředků
Po dokončení tohoto kurzu můžete zvolit prostředky, které chcete odebrat, v závislosti na tom, co chcete udělat dál.
Pokud nepotřebujete žádné prostředky, které jste vytvořili v tomto kurzu, můžete odstranit instanci digitálních vláken Azure a všechny další prostředky z tohoto článku pomocí příkazu AZ Group Delete . Tím se odstraní všechny prostředky Azure ve skupině prostředků i v samotné skupině prostředků.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků i všechny prostředky v ní obsažené se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky.
Otevřete Azure Cloud Shella spuštěním následujícího příkazu odstraňte skupinu prostředků a vše, co obsahuje.
az group delete --name <your-resource-group>
Pokud chcete pokračovat v používání instance digitálních vazeb Azure, kterou jste nastavili v tomto článku, ale vymažete některé nebo všechny jeho modely, vlákna a relace, můžete k odstranění prvků, které chcete odebrat, použít příkazy AZ dt CLI v Azure Cloud Shellm okně.
Tato možnost neodebere žádný z dalších prostředků Azure vytvořených v tomto kurzu (IoT Hub, Azure Functions aplikace atd.). Můžete je odstranit jednotlivě pomocí příkazů DT vhodných pro každý typ prostředku.
Je také možné, že budete chtít odstranit složku projektu z místního počítače.
Další kroky
V tomto kurzu jste vytvořili kompletní scénář, který zobrazuje digitální vlákna Azure, která se řídí daty živého zařízení.
Pak začněte hledat v dokumentaci konceptu, kde najdete další informace o prvcích, se kterými jste pracovali v tomto kurzu:
