Självstudie: Del 2 – Visa de dirigerade meddelandena
Med meddelanderoutning kan du skicka telemetridata från dina IoT-enheter till inbyggda Event Hub-kompatibla slutpunkter eller anpassade slutpunkter som bloblagring, Service Bus-köer, Service Bus-ämnen och Event Hubs. Om du vill konfigurera anpassad meddelanderoutning skapar du routningsfrågor för att anpassa vägen som matchar ett visst villkor. Därefter dirigeras inkommande data automatiskt till slutpunkterna av IoT Hub. Om ett meddelande inte matchar någon av de definierade routningsfrågorna dirigeras det till standardslutpunkten.
I den här självstudien i två delar lär du dig att konfigurera och använda dessa anpassade routningsfrågor med IoT Hub. Du dirigerar meddelanden från en IoT-enhet till en av flera slutpunkter, inklusive bloblagring och en Service Bus kö. Meddelanden till Service Bus hämtas av en logikapp och skickas via e-post. Meddelanden som inte har anpassad meddelanderoutning definierad skickas till standardslutpunkten och hämtas sedan av Azure Stream Analytics och visas i en Power BI visualisering.
Utför följande uppgifter för att slutföra del 1 och 2 av den här självstudien:
Del I: Skapa resurser, konfigurera meddelandedirigering
- Skapa resurserna – en IoT-hubb, ett lagringskonto, en Service Bus kö och en simulerad enhet. Detta kan göras med hjälp av Azure Portal, en Azure Resource Manager mall, Azure CLI eller Azure PowerShell.
- Konfigurera slutpunkterna och meddelandevägarna i IoT Hub för lagringskontot och Service Bus kön.
Del II: Skicka meddelanden till hubben, visa dirigerade resultat
- Skapa en logikapp som utlöses och skickar e-post när ett meddelande läggs till i Service Bus-kön.
- Ladda ned och kör en app som simulerar en IoT-enhet som skickar meddelanden till hubben för de olika dirigeringsalternativen.
- Skapa en Power BI-visualisering för data som skickas till standardslutpunkten.
- Visa resultatet ...
- ...i Service Bus-kön och e-postmeddelandena.
- ...i lagringskontot.
- ...i Power BI-visualiseringen.
Förutsättningar
För del 1 av den här självstudien:
- Du måste ha en Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
För del 2 av den här självstudien:
- Du måste ha slutfört del 1 av den här självstudien och ha resurserna fortfarande tillgängliga.
- Installera Visual Studio.
- Ha åtkomst till ett Power BI för att analysera standardslutpunktens Stream Analytics. (Prova Power BI utan kostnad.)
- Ha ett arbets- eller skolkonto för att skicka e-postaviseringar.
- Kontrollera att port 8883 är öppen i brandväggen. Exemplet i den här självstudien använder MQTT-protokollet, som kommunicerar via port 8883. Den här porten kan blockeras i vissa företags- och utbildningsnätverksmiljöer. Mer information och sätt att komma runt det här problemet finns i Ansluta till IoT Hub (MQTT).
Använda Azure Cloud Shell
Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln utan att behöva installera något i din lokala miljö.
Så här startar du Azure Cloud Shell:
| Alternativ | Exempel/länk |
|---|---|
| Välj Prova i det övre högra hörnet av ett kodblock. Om du väljer Prova kopieras koden inte automatiskt till Cloud Shell. | ![]() |
| Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | ![]() |
| Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. | ![]() |
Så här kör du koden i den här artikeln i Azure Cloud Shell:
Starta Cloud Shell.
Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.
Klistra in koden i Cloud Shell-sessionen genom att välja Ctrl+Skift+V på Windows och Linux eller genom att välja Cmd+Skift+V på macOS.
Välj Retur för att köra koden.
Anteckning
I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Regler för att dirigera meddelanden
Följande är reglerna för meddelanderoutning som konfigurerades i del 1 av den här självstudien, och du ser att de fungerar i den här andra delen.
| Värde | Resultat |
|---|---|
| level="storage" | Skriv till Azure Storage. |
| level="critical" | Skriv till en Service Bus-kö. En logikapp hämtar meddelandet från |
| i kön och använder Office 365 för att skicka meddelandet via e-post. | |
| standard | Visa dessa data med Power BI. |
Nu skapar du de resurser som meddelanden ska dirigeras till, kör en app för att skicka meddelanden till hubben och ser hur routningen fungerar.
Skapa en logikapp
Service Bus-kön ska användas för att ta emot meddelanden som har angetts som kritiska. Konfigurera en logikapp som ska övervaka Service Bus-kön och som skickar e-post när ett meddelande läggs till i Service Bus-kön.
I Azure Portalväljer du + Skapa en resurs. Placera logikappen i sökrutan och välj Retur. Från sökresultaten som visas väljer du Logikapp och sedan Skapa för att fortsätta till fönstret Skapa logikapp. Fyll i fälten.
Prenumeration: Välj din Azure-prenumeration.
Resursgrupp: Välj Skapa ny under fältet Resursgrupp. Ange ContosoResources som namn på resursgruppen.
Instansinformation Typ: Välj Förbrukning som instanstyp.
För Logikappnamn anger du namnet på logikappen. I självstudien används ContosoLogicApp.
Region: Använd platsen för närmaste datacenter. I den här självstudien används USA, västra.
Aktivera Log Analytics: Ställ in den här växlingsknappen för att inte aktivera Logganalys.

Välj Granska + skapa. Det kan ta några minuter för appen att distribueras. När det är klart visas en skärm med en översikt över distributionen.
Gå till logikappen. Om du fortfarande är på distributionssidan kan du välja Gå till resurs. Ett annat sätt att komma till logikappen är att välja Resursgrupper, välja din resursgrupp (i den här självstudien används ContosoResources) och sedan välja logikappen i listan över resurser.
Rulla nedåt tills du ser den nästan tomma panelen tom logikapp + och välj den. Standardfliken på skärmen är "For You". Om det här fönstret är tomt väljer du Alla för att se tillgängliga anslutningsappar och utlösare.
Välj Service Bus i listan över anslutningsappar.

Den här skärmbilden visar en lista över utlösare. Välj den som säger När ett meddelande tas emot i en kö (komplettera automatiskt).

Fyll i fälten på nästa skärm med anslutningsinformationen.
Anslutningsnamn: ContosoConnection
Välj Service Bus namnområdet. I den här självstudien används ContosoSBNamespace. Namnet på nyckeln (RootManageSharedAccessKey) och rättigheterna (Lyssna, Hantera, Skicka) hämtas och läses in. Välj RootManageSharedAccessKey. Knappen Skapa ändras till blå (aktiv). Välj den; den visar skärmen för val av kö.
Därefter uppmanas du att få information om kön.

Könamn: Det här fältet är namnet på kön som meddelandet skickas från. Klicka på den här listrutan och välj det könamn som angetts i installationsstegen. I den här självstudien används contososbqueue.
Kötyp: Typ av kö. Välj Main i listrutan.
Ta standardinställningarna för de andra fälten. Välj Spara för att spara logikappdesignerns konfiguration.
Välj +Nytt steg. Fönstret Välj en åtgärd visas. Välj Office 365 Outlook. I listan letar du upp och väljer Skicka ett e-postmeddelande (V2). Logga in på ditt Office 365 konto.
Fyll i de fält som ska användas när du skickar ett e-postmeddelande om meddelandet i kön.

Att: Lägg till den e-postadress där varningen ska skickas.
Ämne: Fyll i ämnet för e-postmeddelandet.
Brödtext: Fyll i text för brödtexten. Klicka på Lägg till dynamiskt innehåll så visas fält som du kan välja bland e-postmeddelandena som ska inkluderas. Om du inte ser några väljer du Visa mer för att se fler alternativ. Välj Innehåll om du vill att brödtexten från e-postmeddelandet ska visas i felmeddelandet.
Klicka på Spara för att spara dina ändringar. Stäng Logikappdesignern.
Konfigurera Azure Stream Analytics
Om du vill se data i Power BI-visualiseringen konfigurerar du först ett Stream Analytics-jobb för att hämta data. Kom ihåg att endast meddelanden där nivå är satt till normal skickas till standardslutpunkten och hämtas av Stream Analytics-jobbet för Power BI-visualiseringen.
Skapa Stream Analytics-jobbet
Placera Stream Analytics-jobbet i Azure Portal sökrutan och välj Retur. Välj Skapa för att gå Stream Analytics jobbskärmen och skapa sedan igen för att komma till skärmen Skapa.
Ange följande information för jobbet.
Jobbnamn: Jobbets namn. Namnet måste vara globalt unikt. I självstudien används contosoJob.
Prenumeration: Den Azure-prenumeration som du använder för självstudien.
Resursgrupp: Använd samma resursgrupp som användes av IoT-hubben. I den här självstudien används ContosoResources.
Plats: Använd samma plats som användes i installationsskriptet. I den här självstudien används USA, västra.

Välj Skapa för att skapa jobbet. Det kan ta några minuter att distribuera.
Om du vill återgå till jobbet väljer du Gå till resurs. Du kan också välja Resursgrupper. I den här självstudien används ContosoResources. Välj sedan resursgruppen och välj sedan Stream Analytics jobb i listan över resurser.
Lägga till indata till Stream Analytics-jobbet
Under Jobbtopologi väljer du Indata.
I fönstret Indata väljer du Lägg till strömindata och väljer IoT Hub. På skärmen som visas fyller du i följande fält:
Inmatat alias: Den här självstudien använder contosoinputs.
Välj Välj IoT Hub från dina prenumerationer och välj sedan din prenumeration i listrutan.
IoT Hub: Välj IoT-hubben. I självstudien används ContosoTestHub.
Konsumentgrupp: Välj den konsumentgrupp som konfigureras i del 1 av den här självstudien. I den här självstudien används contosoconsumers.
Namn på princip för delad åtkomst: Välj tjänst. Portalen fyller i Nyckel för princip för delad åtkomst åt dig.
Slutpunkt: Välj Meddelanden. (Om du väljer Åtgärdsövervakning får du telemetridata om IoT-hubben istället för de data du skickar.)
För resten av fälten accepterar du standardvärdena.

Välj Spara.
Lägga till utdata till Stream Analytics-jobbet
Under Jobbtopologi väljer du Utdata.
I fönstret Utdata väljer du Lägg till och väljer sedan Power BI. På skärmen som visas fyller du i följande fält:
Utdataalias: Utdatas unika alias. I självstudien används contosooutputs.
Välj Välj grupparbetsyta från dina prenumerationer. I Grupparbetsyta anger du Min arbetsyta.
Autentiseringsläge: Välj Användartoken.
Namn på datauppsättning: Namnet på datauppsättningen som ska användas i Power BI. I självstudien används contosodataset.
Tabellnamn: Namnet på tabellen som ska användas i Power BI. I självstudien används contosotable.
Välj Auktorisera och logga in på ditt Power BI konto. (Det kan ta mer än ett försök att logga in).

Välj Spara.
Konfigurera frågan för Stream Analytics-jobbet
Under Jobbtopologi väljer du Fråga.
Ersätt
[YourInputAlias]med inmatat alias för jobbet. I självstudien används contosoinputs.Ersätt
[YourOutputAlias]med utdataalias för jobbet. I självstudien används contosooutputs.
Välj Spara.
Stäng rutan Fråga. Du återgår till vyn över resurserna i resursgruppen. Välj Stream Analytics jobb. I den här självstudiekursen kallas det contosoJob.
Köra Stream Analytics-jobbet
I Stream Analytics jobb väljer du Starta > nu > Starta. När jobbet startar ändras jobbstatusen från Stoppad till Körs.
För att konfigurera Power BI-rapporten behöver du data, så du måste konfigurera Power BI när du har skapat enheten och kört enhetssimuleringsprogrammet för att generera vissa data.
Köra en simulerad enhetsapp
I del 1 av den här självstudien konfigurerade du en enhet för att simulera med hjälp av en IoT-enhet. Om du inte redan har hämtat den laddar du ned den, inte den .NET-konsolapp som simulerar den enhet som skickar "enhet till molnet"-meddelanden till en IoT-hubb. Du laddar ned den här.
Det här programmet skickar meddelanden för var och en av de olika metoderna för meddelanderoutning. Det finns också en mapp i nedladdningen som innehåller den fullständiga Azure Resource Manager och parameterfilen, samt Azure CLI- och PowerShell-skript.
Om du inte har hämtat filerna från lagringsplatsen i del 1 av den här självstudien kan du gå vidare och ladda ned dem nu från IoT-enhetssimulering. Om du väljer den här länken hämtas en lagringsplats med flera program i den. lösningen du letar efter är iot-hub/Tutorials/Routing/IoT_SimulatedDevice.sln.
Dubbelklicka på lösningsfilen (IoT_SimulatedDevice.sln) för att öppna koden i Visual Studio och öppna Sedan Program.cs. Ersätt {your hub name} med IoT-hubbens värdnamn. Formatet för IoT-hubbens värdnamn är {iot-hub-name}.azure-devices.net. För den här självstudien är hubbens värdnamn ContosoTestHub.azure-devices.net. Ersätt därefter {your device key} med enhetsnyckeln du sparade tidigare när du konfigurerade den simulerade enheten.
static string s_myDeviceId = "Contoso-Test-Device";
static string s_iotHubUri = "ContosoTestHub.azure-devices.net";
// This is the primary key for the device. This is in the portal.
// Find your IoT hub in the portal > IoT devices > select your device > copy the key.
static string s_deviceKey = "{your device key}";
Kör och testa
Kör konsolprogrammet. Vänta några minuter. Du kan se meddelandena som skickas på konsolskärmen i programmet.
Appen skickar ett nytt enhet till molnet-meddelande till IoT-hubben varje sekund. Meddelandet innehåller ett JSON-serialiserat objekt med enhets-ID, temperatur, luftfuktighet och meddelandenivå, där standardinställningen är normal. Slumpmässigt tilldelas en nivå på critical eller storage, vilket orsakar att meddelandet dirigeras till lagringskontot eller till Service Bus-kön (som utlöser att logikappen skickar ett e-postmeddelande). normalStandardavläsningarna ( ) kan visas i en BI-rapport.
Om allt är korrekt konfigurerat bör då se följande resultat:
Du börjar få e-postmeddelanden om kritiska meddelanden.

Det här resultatet innebär att följande påståenden är sanna.
- Routningen till Service Bus-kön fungerar korrekt.
- Logikappen som hämtar meddelandet från Service Bus-kön fungerar som den ska.
- Logic App-anslutningsprogrammet till Outlook fungerar som det ska.
I Azure Portalväljer du Resursgrupper och sedan din resursgrupp. I den här självstudien används ContosoResources.
Välj lagringskontot, välj Containrar och välj sedan den container som lagrar dina resultat. I självstudien används contosoresults. Du bör se en mapp, och du kan öka detaljnivån mellan kataloger tills du ser en eller flera filer. Öppna en av dessa filer. De innehåller poster som dirigeras till lagringskontot.

Det här resultatet innebär att följande uttryck är sant.
- Routningen till lagringskontot fungerar korrekt.
När programmet fortfarande körs kan du konfigurera Power BI för att se meddelandena som kommer via standardslutpunkten.
Konfigurera Power BI-visualiseringarna
Logga in på ditt Power BI-konto.
Välj Min arbetsyta. Den visar minst en datauppsättning som har skapats. Om det inte finns något där kan du köra programmet Simulerad enhet i ytterligare 5–10 minuter för att strömma mer data. När arbetsytan visas har den en datauppsättning med namnet ContosoDataset. Högerklicka på de tre lodräta punkterna till höger om datauppsättningens namn. I listrutan väljer du Skapa rapport.

Titta i avsnittet Visualiseringar till höger och välj Linjediagram för att välja ett linjediagram på BI-rapportsidan. Dra bilden så att den fyller utrymmet vågrätt. I avsnittet Fält till höger öppnar du Nu ContosoTable. Välj EventEnqueuedUtcTime. Den bör placera den längs X-axeln. Välj temperatur och dra den till fältet Värden för temperatur. Detta lägger till temperatur i diagrammet. Du bör ha något som ser ut som på följande bild:

Klicka på den nedre halvan av diagramområdet. Välj Linjediagram igen. Det skapar ett diagram under det första.
I tabellen väljer du EventQueuedTime. Den visas i fältet Axel. Dra fuktighet till fältet Värden. Nu visas båda diagrammen.

Du har skickat meddelanden från standardslutpunkten för IoT Hub till Azure Stream Analytics. Sedan lade du till Power BI rapport för att visa data och lade till två diagram som representerar temperaturen och luftfuktigheten.
Välj Arkiv > Spara för att spara rapporten och ange ett namn på rapporten när du tillfrågas. Spara rapporten på din arbetsyta.
Du kan se data i båda diagrammen. Det här resultatet innebär att följande påståenden är sanna:
- Routningen till standardslutpunkten fungerar korrekt.
- Azure Stream Analytics-jobbet strömmar som det ska.
- Power BI-visualiseringen är korrekt konfigurerad.
Du kan uppdatera diagrammen för att se de senaste data genom att knappen Uppdatera längst upp i Power BI fönstret.
Rensa resurser
Om du vill ta bort alla Azure-resurser som du har skapat i båda delarna av den här självstudien tar du bort resursgruppen. Detta tar även bort alla resurser som ingår i gruppen. I det här fallet tar det bort IoT-hubben, Service Bus-namnrymden och kön, logikappen, lagringskontot och själva resursgruppen. Du kan också ta bort Power BI och rensa de e-postmeddelanden som skickas under självstudien.
Rensa resurser i Power BI-visualiseringen
Logga in på ditt Power BI-konto. Gå till din arbetsyta. Den här självstudien använder Min arbetsyta. Om du vill Power BI datauppsättningen går du till DataSets och väljer papperskorgsikonen för att ta bort datauppsättningen. I självstudien används contosodataset. När du tar bort datauppsättningen tas även rapporten bort.
Rensa resurser med hjälp av Azure CLI
Om du vill ta bort resursgruppen använder du kommandot az group delete. $resourceGroup var inställt på ContosoResources i början av den här självstudien.
az group delete --name $resourceGroup
Använda PowerShell för att rensa resurser
Om du vill ta bort resursgruppen använder du kommandot Remove-AzResourceGroup. $resourceGroup var inställt på ContosoResources i början av den här självstudien.
Remove-AzResourceGroup -Name $resourceGroup
Rensa test-e-postmeddelanden
Du kanske också vill ta bort antalet e-postmeddelanden i inkorgen som genererades via logikappen medan enhetsprogrammet kördes.
Nästa steg
I den här självstudien i två delar har du lärt dig hur du använder meddelanderoutning för att dirigera IoT Hub till olika mål genom att utföra följande uppgifter.
Del I: Skapa resurser, konfigurera meddelanderoutning
- Skapa resurserna – en IoT-hubb, ett lagringskonto, en Service Bus kö och en simulerad enhet.
- Konfigurera slutpunkterna och meddelandevägarna i IoT Hub för lagringskontot och Service Bus kön.
Del II: Skicka meddelanden till hubben, visa dirigerade resultat
Skapa en logikapp som utlöses och skickar e-post när ett meddelande läggs till i Service Bus-kön.
Ladda ned och kör en app som simulerar en IoT-enhet som skickar meddelanden till hubben för de olika dirigeringsalternativen.
Skapa en Power BI-visualisering för data som skickas till standardslutpunkten.
Visa resultatet ...
...i Service Bus-kön och e-postmeddelandena.
...i lagringskontot.
...i Power BI-visualiseringen.
Gå vidare till nästa självstudie där du får lära dig hur du hanterar tillstånd för en IoT-enhet.


