Training
Certificering
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.
Deze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Berichtverrijkingen zijn de mogelijkheid van Azure IoT Hub om berichten te stempelen met aanvullende informatie voordat de berichten naar het aangewezen eindpunt worden verzonden. Een van de redenen voor het gebruik van berichtverrijkingen is het opnemen van gegevens die kunnen worden gebruikt om downstreamverwerking te vereenvoudigen. Het verrijken van apparaatberichten met een apparaatdubbeltag kan bijvoorbeeld de belasting voor klanten verminderen om API-aanroepen van apparaatdubbels te maken voor deze informatie. Zie Overzicht van berichtverrijkingen voor meer informatie.
In het eerste deel van deze zelfstudie hebt u gezien hoe u aangepaste eindpunten kunt maken en berichten kunt routeren naar andere Azure-services. In deze zelfstudie ziet u hoe u de extra resources kunt maken en configureren die nodig zijn om berichtverrijkingen voor een IoT-hub te testen. De resources bevatten een tweede opslagcontainer voor een bestaand opslagaccount (gemaakt in het eerste deel van de zelfstudie) voor het opslaan van de verrijkte berichten en een berichtroute om ze daarheen te verzenden. Nadat de configuraties voor de berichtroutering en berichtverrijkingen zijn voltooid, gebruikt u een toepassing om berichten naar de IoT-hub te verzenden. De hub stuurt ze vervolgens naar beide opslagcontainers. Alleen de berichten die naar het eindpunt voor de verrijkte opslagcontainer worden verzonden, worden verrijkt.
In deze zelfstudie voert u de volgende taken uit:
U hebt een abonnement op Azure nodig. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
U moet de zelfstudie hebben voltooid : Apparaatgegevens verzenden naar Azure Storage met behulp van IoT Hub-berichtroutering en de resources onderhouden die u ervoor hebt gemaakt.
Zorg ervoor dat de poort 8883 is geopend in uw firewall. In het apparaatvoorbeeld in deze zelfstudie wordt het MQTT-protocol gebruikt, dat communiceert via poort 8883. Deze poort is in sommige netwerkomgevingen van bedrijven en onderwijsinstellingen mogelijk geblokkeerd. Zie Verbinding maken met IoT Hub (MQTT) voor meer informatie en manieren om dit probleem te omzeilen.
Er zijn geen andere vereisten voor Azure Portal.
In het eerste deel van deze zelfstudie hebt u een opslagaccount en container gemaakt voor gerouteerde berichten. Nu moet u een tweede container maken voor verrijkte berichten.
Zoek in Azure Portal naar Opslagaccounts.
Selecteer het account dat u eerder hebt gemaakt.
Selecteer Containers in het menu opslagaccount in de sectie Gegevensopslag.
Selecteer Container om de nieuwe container te maken.
Geef de container enriched
een naam en selecteer Maken.
Maak een tweede eindpunt en route voor de verrijkte berichten.
Belangrijk
Dit artikel bevat stappen voor het maken van verbinding met een service met behulp van een handtekening voor gedeelde toegang. Deze verificatiemethode is handig voor testen en evalueren, maar verificatie bij een service met Microsoft Entra ID of beheerde identiteiten is een veiligere benadering. Zie Best practices > voor beveiliging voor cloudbeveiliging voor meer informatie.
Ga in Azure Portal naar uw IoT-hub.
Selecteer in het resourcemenu onder Hub-instellingen de optie Berichtroutering en selecteer Vervolgens Toevoegen.
Maak op het tabblad Eindpunt een opslageindpunt door de volgende informatie op te geven:
Parameter | Weergegeven als |
---|---|
Eindpunttype | Selecteer Opslag. |
Eindpuntnaam | Voer ContosoStorageEndpointEnriched in. |
Azure Storage-container | Selecteer Een container kiezen. Volg de aanwijzingen om het opslagaccount en de verrijkte container te selecteren die u in de vorige sectie hebt gemaakt. |
Codering | Selecteer JSON. Als dit veld grijs wordt weergegeven, biedt uw opslagaccountregio geen ondersteuning voor JSON. In dat geval gaat u verder met de standaard AVRO. |
Accepteer de standaardwaarden voor de rest van de parameters en selecteer Maken + volgende.
Ga door met het maken van de nieuwe route, nu u het opslageindpunt hebt toegevoegd. Geef de volgende informatie op voor de nieuwe route:
Parameter | Weergegeven als |
---|---|
Naam | ContosoStorageRouteEnriched |
Gegevensbron | Controleer of Apparaattelemetrieberichten is geselecteerd in de vervolgkeuzelijst. |
Route inschakelen | Controleer of dit veld is ingesteld op enabled . |
Routeringsquery | Voer level="storage" in als querytekenreeks. |
Selecteer Verrijkingen maken en toevoegen.
Maak drie berichtverrijkingen die worden gerouteerd naar de verrijkte opslagcontainer.
Voeg op het tabblad Verrijking van de wizard Een route toevoegen drie berichtverrijkingen toe voor de berichten die naar het eindpunt gaan voor de opslagcontainer met de naam verrijkt.
Voeg deze waarden toe als berichtverrijkingen voor het eindpunt ContosoStorageEndpointEnriched:
Naam | Weergegeven als |
---|---|
myIotHub | $hubname |
DeviceLocation | $twin.tags.location (gaat ervan uit dat de apparaatdubbel een locatietag heeft) |
customerID | 6ce345b8-1e4a-411e-9398-d34587459a3a |
Wanneer u klaar bent, moeten uw verrijkingen er ongeveer als volgt uitzien:
Selecteer Toevoegen om de berichtverrijkingen toe te voegen.
U hebt nu berichtverrijkingen ingesteld voor alle berichten die worden doorgestuurd naar het eindpunt dat u hebt gemaakt voor verrijkte berichten. Als u geen locatietag wilt toevoegen aan de apparaatdubbel, kunt u doorgaan naar de sectie Berichtverrijkingen testen om door te gaan met de zelfstudie.
Een van de berichtverrijkingen die op uw IoT-hub zijn geconfigureerd, geeft een sleutel van DeviceLocation op met de waarde die wordt bepaald door het volgende pad naar de apparaatdubbel: $twin.tags.location
Als uw apparaatdubbel geen locatietag heeft, wordt het dubbelpad $twin.tags.location
, als een tekenreeks voor de DeviceLocation-sleutel in de berichtverrijkingen gestempeld.
Volg deze stappen om een locatietag toe te voegen aan de dubbel van uw apparaat:
Navigeer naar uw IoT-hub in Azure Portal.
Selecteer Apparaten in het navigatiemenu van de IoT-hub en selecteer vervolgens uw apparaat.
Selecteer het tabblad Apparaatdubbel boven aan de apparaatpagina en voeg de volgende regel toe vlak voor de accolade onder aan de apparaatdubbel. Selecteer vervolgens Opslaan.
, "tags": {"location": "Plant 43"}
Tip
Wacht ongeveer vijf minuten voordat u verdergaat met de volgende sectie. Het kan tot die tijd duren voordat updates van de apparaatdubbel worden weergegeven in berichtverrijkingswaarden.
Zie beperkingen voor berichtverrijkingen voor meer informatie over hoe apparaatdubbelpaden worden verwerkt met berichtverrijkingen. Zie Apparaatdubbels begrijpen en gebruiken in IoT Hub voor meer informatie over apparaatdubbels.
Nu de berichtverrijkingen zijn geconfigureerd voor het eindpunt ContosoStorageEndpointEnriched , voert u de toepassing voor het gesimuleerde apparaat uit om berichten naar de IoT-hub te verzenden. Op dit moment is berichtroutering als volgt ingesteld:
Berichten die worden doorgestuurd naar het opslageindpunt dat u in het eerste deel van de zelfstudie hebt gemaakt , worden niet verrijkt en worden opgeslagen in de opslagcontainer die u vervolgens hebt gemaakt.
Berichten die worden doorgestuurd naar het opslageindpunt ContosoStorageEndpointEnriched , worden verrijkt en opgeslagen in de opslagcontainer verrijkt.
Als u de SimulatedDevice-consoletoepassing nog niet uitvoert vanuit het eerste deel van deze zelfstudie, voert u deze opnieuw uit:
Tip
Als u de Azure CLI-stappen voor deze zelfstudie volgt, voert u de voorbeeldcode uit in een afzonderlijke sessie. Op die manier kunt u toestaan dat de voorbeeldcode wordt uitgevoerd terwijl u de rest van de CLI-stappen volgt.
Navigeer in de voorbeeldmap naar de /iot-hub/Tutorials/Routing/SimulatedDevice/
map.
De variabelendefinities die u eerder hebt bijgewerkt, moeten nog steeds geldig zijn, maar zo niet, bewerk ze in het Program.cs
bestand:
Zoek de variabeledefinities boven aan de klasse Program . Werk de volgende variabelen bij met uw eigen gegevens:
IOTHUB_NAME.azure-devices.net
gebruikt.Sla het bestand op en sluit het bestand.
Voer de voorbeeldcode uit:
dotnet run
Nadat u de consoletoepassing een paar minuten hebt uitgevoerd, bekijkt u de gegevens:
Ga in Azure Portal naar uw opslagaccount.
Selecteer Opslagbrowser in het navigatiemenu. Selecteer Blob-containers om de twee containers te zien die u in de loop van deze zelfstudies hebt gemaakt.
De berichten in de container met de naam verrijkt hebben de berichtverrijkingen opgenomen in de berichten. De berichten in de container die u eerder hebt gemaakt, bevatten de onbewerkte berichten zonder verrijkingen. Zoom in op de verrijkte container totdat u onderaan komt en open vervolgens het meest recente berichtbestand. Doe hetzelfde voor de andere container om te controleren of de ene is verrijkt en niet.
Wanneer u berichten bekijkt die zijn verrijkt, ziet "myIotHub"
u de hubnaam, de locatie en de klant-id, zoals deze:
{
"EnqueuedTimeUtc":"2019-05-10T06:06:32.7220000Z",
"Properties":
{
"level":"storage",
"myIotHub":"{your hub name}",
"DeviceLocation":"Plant 43",
"customerID":"6ce345b8-1e4a-411e-9398-d34587459a3a"
},
"SystemProperties":
{
"connectionDeviceId":"Contoso-Test-Device",
"connectionAuthMethod":"{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
"connectionDeviceGenerationId":"636930642531278483",
"enqueuedTime":"2019-05-10T06:06:32.7220000Z"
},"Body":"eyJkZXZpY2VJZCI6IkNvbnRvc28tVGVzdC1EZXZpY2UiLCJ0ZW1wZXJhdHVyZSI6MjkuMjMyMDE2ODQ4MDQyNjE1LCJodW1pZGl0eSI6NjQuMzA1MzQ5NjkyODQ0NDg3LCJwb2ludEluZm8iOiJUaGlzIGlzIGEgc3RvcmFnZSBtZXNzYWdlLiJ9"
}
Als u alle resources wilt verwijderen die u in beide delen van deze zelfstudie hebt gemaakt, verwijdert u de resourcegroep. Hiermee verwijdert u ook alle resources in de groep. Als u de hele resourcegroep niet wilt verwijderen, kunt u afzonderlijke resources selecteren die u wilt verwijderen.
In deze zelfstudie hebt u berichtverrijkingen geconfigureerd en getest voor IoT Hub-berichten terwijl ze worden gerouteerd naar een eindpunt.
Zie Overzicht van berichtverrijkingen voor meer informatie over berichtverrijkingen.
Ga verder met de volgende zelfstudie voor meer informatie over IoT Hub.
Training
Certificering
Bouw end-to-end-oplossingen in Microsoft Azure om Azure Functions te maken, web-apps te implementeren en te beheren, oplossingen te ontwikkelen die gebruikmaken van Azure Storage en meer.
Documentatie
Zelfstudie: berichtroutering configureren - Azure IoT Hub
Zelfstudie: Apparaatberichten routeren naar een Azure Storage-account met berichtroutering voor Azure IoT Hub met behulp van de Azure CLI en Azure Portal
Begrip van Azure IoT Hub-berichtroutering - Azure IoT Hub
In dit artikel wordt beschreven hoe u berichtroutering gebruikt om apparaat-naar-cloud-berichten te verzenden. Bevat informatie over het verzenden van zowel telemetrie- als niet-telemetriegegevens.
Zelfstudie over het verzenden van apparaattelemetrie naar Azure IoT Hub - Azure IoT
Deze zelfstudie laat ontwikkelaars zien hoe ze een apparaat veilig kunnen verbinden met Azure IoT Hub. U gebruikt een Azure IoT-apparaat-SDK voor C, C#, Python, Node.js of Java om een apparaatclient te bouwen voor Windows, Linux of Raspberry Pi (Raspbian). Vervolgens maakt u verbinding en verzendt u telemetrie.