Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du hanterar Azure IoT Hub-vägar och slutpunkter med hjälp av Azure CLI. Lär dig hur du använder Azure CLI för att skapa vägar och slutpunkter för Azure Event Hubs, Azure Service Bus-köer och -ämnen, Azure Storage och Cosmos DB.
Mer information om hur routning fungerar i IoT Hub finns i Använda IoT Hub-meddelanderoutning för att skicka meddelanden från enhet till moln till olika slutpunkter. Information om hur du konfigurerar en väg som skickar meddelanden till lagring och sedan testar på en simulerad enhet finns i Självstudie: Skicka enhetsdata till Azure Storage med hjälp av IoT Hub-meddelanderoutning.
Förutsättningar
De procedurer som beskrivs i artikeln använder följande resurser:
- Azure CLI
- En IoT Hub
- En slutpunktstjänst i Azure
Azure CLI
Den här artikeln använder Azure CLI för att arbeta med IoT Hub och andra Azure-tjänster. Du kan välja hur du ska komma åt Azure CLI:
- Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell. 
- Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container. - Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI. 
- När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI. 
- Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade. 
 
IoT Hub
Ha en IoT-hubb i din Azure-prenumeration. Om du inte har någon hubb ännu kan du följa stegen i Skapa en IoT-hubb.
Ändpunkttjänst
Du behöver minst en annan Azure-tjänst för att använda som slutpunkt för rutten. Slutpunkten tar emot enhetsmeddelanden och händelseloggar.
Bestäm vilken Azure-tjänst du vill använda som slutpunkt för att ta emot dirigerade enhets- och händelsedata: en händelsehubb, en tjänstkö eller ett ämne, ett lagringskonto eller en Cosmos DB-container. Slutför stegen för att skapa en slutpunktstjänst för den tjänst som du väljer att använda.
- Skapa ett Event Hubs-namnområde och en händelsehubb. Mer information finns i Snabbstart: Skapa en händelsehubb med hjälp av Azure CLI. 
- Skapa en auktoriseringsregel som ska användas för att ge IoT Hub behörighet att skicka data till händelsehubben. - Tips - Parameterns - namevärde- RootManageSharedAccessKeyär standardnamnet som tillåter Hantera, Skicka, Lyssna anspråk (åtkomst). Om du vill begränsa anspråken ger du parametern- nameditt eget unika namn och inkluderar- --rightsflaggan följt av ett av anspråken. Exempel:- --name my-name --rights Send- az eventhubs eventhub authorization-rule create --resource-group my-resource-group --namespace-name my-routing-namespace --eventhub-name my-event-hubs --name RootManageSharedAccessKey- Mer information finns i Auktorisera åtkomst till Azure Event Hubs. 
Skapa en slutpunkt
Alla IoT Hub-vägar pekar på en slutpunkt, som tar emot dirigerade enhets- och händelsedata. Mer än en väg kan peka på samma slutpunkt. För närvarande stöder IoT Hub slutpunkter för händelsehubbar, Service Bus-köer eller ämnen, Lagring och Cosmos DB. En instans av tjänsten som du använder för slutpunkten måste finnas i din Azure-prenumeration innan du skapar slutpunkten.
Kommentar
Den här artikeln använder kommandogruppen az iot hub message-endpoint , som introducerades i version 0.19.0 av azure-iot-tillägget för Azure CLI. Tidigare versioner av azure-iot-tillägget använde az iot hub routing-endpoint kommandogruppen, som inte längre stöds.
Använd följande kommando för att uppdatera till den senaste versionen av azure-iot-tillägget:
az extension update --name azure-iot
Om du vill skapa en Event Hubs-slutpunkt använder du auktoriseringsregeln som du skapade i förhandskraven.
- Använd kommandot az eventhubs eventhub authorization-rule keys list för att visa din auktoriseringsregel. Ange följande värden för platshållarparametrarna: - parameter - värde - eventhub_group - Resursgrupp för händelsehubben. - eventhub_namespace - Namn på Event Hubs-namnområdet. - eventhub_name - Namn på eventhubben. - rule_name - Namnet på auktoriseringsregeln för händelsehubben. Om du kopierade exemplet i förhandskraven är namnet - RootManageSharedAccessKey.- az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
- Kopiera din händelsehubbanslutningssträng från utdata. 
- Använd kommandot az iot hub message-endpoint create eventhub för att skapa din anpassade slutpunkt. Ange följande värden för platshållarparametrarna: - parameter - värde - iothub_name - Namnet på den IoT-hubb där den här slutpunkten skapas. - endpoint_name - Ett unikt namn för den nya slutpunkten. - eventhub_subscription - Prenumerations-ID för händelsehubben. Det här argumentet kan utelämnas om händelsehubben finns i samma prenumeration som IoT-hubben. - eventhub_group - Resursgrupp för händelsehubben. Det här argumentet kan utelämnas om händelsehubben finns i samma resursgrupp som IoT-hubben. - eventhub_anslutnings_sträng - Den anslutningssträng som du kopierade från händelsehubbens auktoriseringsregel. - az iot hub message-endpoint create eventhub --hub-name {iothub_name} --endpoint-name {endpoint_name} --connection-string "{eventhub_connection_string}" --endpoint-subscription-id {eventhub_subscription} --endpoint-resource-group {eventhub_group}
Ta bort en slutpunkt
Om du vill ta bort en slutpunkt från din IoT-hubb, använd kommandot az iot hub message-endpoint delete. Med det här kommandot kan du ta bort en enskild slutpunkt, ta bort alla slutpunkter av en enda typ eller ta bort alla slutpunkter från en hubb.
Följande kommando tar till exempel bort alla slutpunkter i en IoT-hubb som pekar på Lagringsresurser:
az iot hub message-endpoint delete --hub-name {iothub_name} --endpoint-type storage-container
Skapa en IoT Hub-rutt
I IoT Hub kan du skapa en väg för att skicka meddelanden eller samla in händelser. Varje väg har en datakälla och en slutpunkt. Datakällan är den där meddelanden eller händelseloggar kommer från. Slutpunkten är där meddelandena eller händelseloggarna hamnar. Du väljer platser för datakällan och slutpunkten när du skapar en ny väg i din IoT-hubb. Du kan också lägga till frågor i meddelandevägar för att filtrera meddelanden eller händelser innan de går till slutpunkten.
Kommentar
Den här artikeln använder kommandogruppen az iot hub message-route , som introducerades i version 0.19.0 av azure-iot-tillägget för Azure CLI. Tidigare versioner av azure-iot-tillägget använde az iot hub route kommandogruppen, som inte längre stöds.
Använd följande kommando för att uppdatera till den senaste versionen av azure-iot-tillägget:
az extension update --name azure-iot
- Använd kommandot az iot hub message-route create för att skapa en ny IoT Hub-väg med hjälp av den slutpunkten. Ange följande värden för platshållarparametrarna: - parameter - värde - iothub_name - Namnet på den IoT-nav där denna rutt skapas. - route_name - Ett unikt namn för den nya vägen. - endpoint_name - Namnet på den slutpunkt som vägen ska skicka data till. - datakälla - Källan till rutten. Godkända värden är: - deviceconnectionstateevents,- devicejoblifecycleevents,- devicelifecycleevents,- devicemessages,- digitaltwinchangeevents,- invalideller- twinchangeevents.- az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
- För att bekräfta att den nya vägen finns i din IoT-hubb använder du kommandot az iot hub message-route list för att se alla vägar i din IoT-hubb: - az iot hub message-route list --hub-name {iothub_name}- Du bör se ett svar i Azure CLI som liknar det här exemplet: - [ { "condition": "true", "endpointNames": [ "endpoint_name" ], "isEnabled": true, "name": "route_name", "source": "DeviceConnectionStateEvents" } ]
Uppdatera en IoT Hub-väg
Du kan uppdatera vissa egenskaper för en väg när den har skapats. Du kan ändra källan, slutpunkten, villkoret eller det aktiverade tillståndet för en befintlig väg.
Använd kommandot az iot hub message-route show för att visa information om en väg.
az iot hub message-route show --hub-name {iothub_name} --route-name {route_name}
Använd kommandot az iot hub message-route update för att uppdatera egenskaperna för en väg. Till exempel uppdaterar följande kommando en rutts källa.
az iot hub message-route update --hub-name {iothub_name} --route-name {route_name} --source devicejoblifecycleevents
Ta bort en IoT Hub-väg
Använd kommandot az iot hub message-route delete för att ta bort en väg från din IoT-hubb.
Om du tar bort en väg tas inte slutpunkten bort eftersom andra vägar kan peka på samma slutpunkt. Om du vill ta bort en slutpunkt kan du göra det separat från att ta bort en väg.
az iot hub message-route delete --hub-name {iothub_name} --route-name {route_name}
Hantera reservvägen
Reservvägen skickar alla meddelanden från källan devicemessages som inte uppfyller frågevillkoren för någon av de befintliga rutterna till den inbyggda slutpunkten.
Använd kommandot az iot hub message-route fallback show för att se status för fallbackvägen i din IoT-hubb.
az iot hub message-route fallback show --hub-name {iothub_name}
Använd kommandot az iot hub meddelandeväg fallback set för att aktivera eller inaktivera reservvägen i din IoT-hubb.
az iot hub message-route fallback set --hub-name {iothub_name} --enabled {true_false}
Nästa steg
I den här artikeln har du lärt dig hur du skapar en väg och slutpunkt för Event Hubs, Service Bus-köer och -ämnen samt Azure Storage.
Mer information om meddelanderoutning finns i Självstudie: Skicka enhetsdata till Azure Storage med hjälp av IoT Hub-meddelanderoutning. I självstudien skapar du en lagringsväg och testar den med en enhet i din IoT-hubb.
