Cvičení – integrace služby Azure Cosmos DB s datovým kanálem IoT
Toto cvičení poskytuje přehled o nastavení shromažďování, zpracování a ukládání telemetrických dat IoT vygenerovaných pomocí aplikace Azure IoT Central.
V tomto cvičení:
- Vytvoření aplikace Azure IoT Central
- Vytvořte funkci Azure, která protokoluje datovou část požadavku HTTP.
- Nakonfigurujte a ověřte pravidla telemetrie IoT aplikace Azure IoT Central.
Požadavky
K provedení tohoto cvičení potřebujete:
- Účet Microsoft nebo účet Microsoft Entra s rolí Globální Správa istrator v tenantovi Microsoft Entra. Tenant musí být přidružený k předplatnému Azure a k roli vlastníka nebo přispěvatele v předplatném Azure.
- K dokončení lekce cvičení Nastavte službu Azure Cosmos DB.
- Aktivní předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Vytvoření aplikace Azure IoT Central
Na webu Azure Portal přejděte na stránku Vytvořit aplikaci IoT Central. Pokud se zobrazí výzva, přihlaste se pomocí účtu Azure.
Zadejte následující údaje:
Pole Popis Předplatné Předplatné Azure, které chcete použít. Skupina prostředků Skupina prostředků, kterou chcete použít. Můžete vytvořit novou skupinu prostředků nebo použít existující. Název prostředku Platný název prostředku Azure, například adatum-iot-custom-application. Adresa URL aplikace Subdoména adresy URL pro vaši aplikaci, jako je adatum-iot-custom-application. Adresa URL aplikace IoT Central vypadá takto https://adatum-iot-custom-application.azureiotcentral.com
.Šablona Analýza v úložišti – Monitorování podmínek Oblast Oblast Azure, kterou chcete použít. Cenový plán Vyberte jeden ze standardních cenových plánů. Další informace o cenách najdete v tématu o cenách Azure IoT Central. Vyberte Zkontrolovat a vytvořit. Pak vyberte Vytvořit.
Až bude aplikace připravená, můžete na ni přejít z webu Azure Portal:
Tip
Pokud chcete zobrazit seznam všech aplikací IoT Central, ke kterým máte přístup, přejděte do aplikací IoT Central.
Během několika minut nebo méně se zobrazí stránka Řídicí panel . Projděte si telemetrii a analýzu ukázkové aplikace Azure IoT Central:
Na stránce řídicího panelu portálu aplikací IoT Central v vertikální nabídce vyberte Zařízení.
V části Termostat vyberte Termostat-Zóna1.
V podokně Termostat-Zóna1 zkontrolujte obsah karty Řídicí panel.
Vyberte kartu Nezpracovaná data a zkontrolujte obsah.
Vytvoření funkce Azure, která protokoluje datovou část požadavku HTTP
V této úloze vytváříte aplikaci Funkcí Azure, která implementuje funkci webhooku HTTP. Tuto funkci použijte k předávání telemetrických dat z aplikace Azure IoT Central vytvořením pravidla aplikace.
Spusťte webový prohlížeč, přejděte na web Azure Portal a přihlaste se k předplatnému Azure, které používáte pro tento modul.
Pomocí textového pole Hledat prostředky, služby a dokumenty vyhledejte aplikaci Function App.
V podokně Aplikace funkcí vyberte + Vytvořit.
Na kartě Základy nakonfigurujte následující nastavení a pak vyberte Zkontrolovat a vytvořit.
Nastavení Konfigurace Předplatné Vyberte název předplatného Azure, které používáte pro tento modul. Skupina prostředků Vytvořte novou skupinu prostředků s názvem function-app-RG. Název aplikace funkcí Zadejte jedinečný název, který se skládá z malých písmen, číslic nebo pomlček a začíná písmenem. Publikovat Vyberte Kód. Zásobník modulu runtime Vyberte .NET. Verze Vyberte verzi 6 (LTS), model v procesu. Oblast Vyberte oblast Azure nejblíže umístění testovacího prostředí, nejlépe odpovídající umístění, které jste zvolili pro nasazení Azure IoT Central. Operační systém Windows Typ plánu Spotřeba (bez serveru) Vyberte Vytvořit.
Poznámka:
Počkejte na dokončení zřizování aplikace Funkcí Azure. Může to trvat asi dvě minuty.
Po dokončení nasazení aplikace Funkcí Azure vyberte Přejít k prostředku.
V podokně Aplikace funkcí Azure v části Vytvořit na webu Azure Portal vyberte Vytvořit funkci.
V podokně Přidat funkci zadejte následující nastavení a pak vyberte Vytvořit.
Nastavení Konfigurace Vývojové prostředí Vývoj na portálu Šablona Trigger HTTP Nová funkce HttpTrigger1 Úroveň autorizace Funkce V podokně HttpTrigger1 vyberte v nabídce možnost Integrace.
V obdélníku s popisky Výstupy vyberte + Přidat výstup.
Nakonfigurujte následující nastavení a pak vyberte Přidat:
Nastavení Konfigurace Typ vazby Vyberte Azure Cosmos DB. Název parametru dokumentu Nahraďte výchozí hodnotu outDoc. Název databáze Zadejte název databáze, kterou jste vytvořili v předchozím cvičení iotdb. Název kolekce Zadejte iotcollection. Pokud je hodnota true, vytvoří se databáze Cosmos DB. Vyberte Ano. Připojení účtu databáze Cosmos DB Vyberte Nový. V automaticky otevírané nabídce Připojení k nové službě Cosmos DB se ujistěte, že je vybraná možnost Účet služby Azure Cosmos DB. V rozevíracím seznamu Účet databáze vyberte položku představující účet Cosmos DB, který jste vytvořili v předchozím cvičení, a pak vyberte OK. Klíč oddílu (volitelné) Zadejte /pk/timestamp/deviceid. Poznámka:
Při výběru optimálního klíče oddílu je důležité zvážit vzory použití a limit velikosti logického oddílu o velikosti 20 GB. Můžete například vytvořit syntetický klíč oddílu, který se skládá z kombinace id zařízení a data.
Vyberte kód + test.
Nahraďte stávající kód následujícím obsahem a pak vyberte Uložit.
#r "Newtonsoft.Json" using Microsoft.Azure.WebJobs.Host; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Microsoft.Extensions.Logging; using Microsoft.AspNetCore.Mvc; public static void Run(HttpRequest req, out object outDoc, ILogger log) { log.LogInformation($"C# Queue trigger function processed: {req.Body}"); string requestBody = new StreamReader(req.Body).ReadToEnd(); dynamic iotDataJson = JObject.Parse(requestBody); dynamic iotData = JsonConvert.DeserializeObject<dynamic>(iotDataJson.ToString()); log.LogInformation($"{iotData}"); outDoc = new { pk = iotData.device.id + "-" + iotData.timestamp.ToString("yyyyMMdd"), timestamp = iotData.timestamp, deviceId = iotData.device.id, temperature = iotData.device.telemetry.Thermostat_1o.temp.value }; }
Poznámka:
Funkce zaznamená datovou část požadavku HTTP založenou na FORMÁTU JSON a vytvoří jednotlivé elementy JSON, které se mají uložit v individuálním dokumentu cílové kolekce Cosmos DB odpovídající výstupu funkce, který jste nakonfigurovali. Jako klíč oddílu můžete použít prvek pk , který se skládá z zřetězené vlastnosti deviceId a data shromážděného datového bodu telemetrie.
Vyberte Získat adresu URL funkce pro klíč funkce a poznamenejte si její hodnotu.
Konfigurace a ověření pravidel telemetrie IoT aplikace Azure IoT Central
Přepněte zpět do okna webového prohlížeče zobrazující stránku Zařízení aplikace Azure IoT Central, kterou jste vytvořili dříve v tomto cvičení.
V vertikální nabídce portálu aplikací IoT Central vyberte Pravidla.
Vyberte + Nový a nakonfigurujte následující nastavení:
Nastavení Konfigurace Název pravidla Zadejte pravidlo telemetrie Adatum IoT. Šablona zařízení Vyberte termostat. Časová agregace Ujistěte se, že jsou nastavení vypnutá. Telemetrie Vyberte Teplotu. Operátor Vyberte možnost je větší než. Zadejte hodnotu. Zadejte 0. Akce Vyberte + Webhook. Zobrazované jméno Zadejte webhook funkce Azure. Adresa URL zpětného volání Vložte hodnotu adresy URL funkce Azure, kterou jste si poznamenali v předchozím úkolu tohoto cvičení. Poznámka:
Hodnota telemetrie teploty je záměrně nízká, aby vyvolala funkci webhooku a aktivovala funkci. V reálných scénářích byste ji upravili tak, aby odpovídala podmínce, která zaručuje shromažďování dat, které chcete uložit v cílové kolekci Cosmos DB.
Vyberte Hotovo a pak vyberte Uložit.
Přepnutí zpět do okna webového prohlížeče zobrazující httpTrigger1 | Podokno Code + Test na webu Azure Portal
Vyberte Možnost Sledovat a pak vyberte kartu Protokoly .
Ověřte, že podokno protokolů zobrazuje zprávy vygenerované v reakci na trigger HTTP pocházející z webhooku aplikace Azure IoT Central, který jste nakonfigurovali dříve v této úloze.
Přepněte do okna webového prohlížeče zobrazující podokno Průzkumník dat účtu služby Cosmos DB, který jste zřídili v předchozím cvičení.
V části rozhraní API NOSQL vyberte tlačítko Aktualizovat kruhovou šipku, rozbalte uzel iotdb a iotcollection v něm. Vyberte uzel Položky a pak v seznamu položek vyberte první dokument.
Ověřte, že podokno podrobností na kartě Položky v okně Průzkumník dat zobrazuje telemetrická data generovaná zařízeními zaregistrovanými v aplikaci Azure Central IoT a zpracovávaná funkcí Azure, včetně pk, časového razítka, id zařízení a teploty.
Výsledky
Gratulujeme! Dokončili jste druhé cvičení tohoto modulu. V tomto cvičení jste vytvořili aplikaci Azure IoT Central.