Dela via


Skapa och ta bort vägar och slutpunkter med hjälp av Azure CLI

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:

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.

Slutpunktstjänst

Du behöver minst en annan Azure-tjänst för att använda som slutpunkt till vägen. 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.

  1. 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.

  2. Skapa en auktoriseringsregel som ska användas för att ge IoT Hub behörighet att skicka data till händelsehubben.

    Dricks

    Parameterns name värde RootManageSharedAccessKey är standardnamnet som tillåter Hantera, Skicka, Lyssna anspråk (åtkomst). Om du vill begränsa anspråken ger du parametern name ditt eget unika namn och inkluderar --rights flaggan 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 kommandogruppen az iot hub routing-endpoint , som är liknande och fortfarande stöds men inte stöder skapandet av Cosmos DB-slutpunkter.

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.

  1. 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å händelsehubben.
    rule_name Namnet på auktoriseringsregeln för händelsehubben. Om du kopierade exemplet i förhandskraven är RootManageSharedAccessKeydet här namnet .
    az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
    
  2. Kopiera händelsehubben anslutningssträng från utdata.

  3. 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_connection_string 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änder du 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-väg

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 kommandogruppen az iot hub route , som är liknande och fortfarande 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
  1. 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-hubb där den här vägen 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.
    data_source Källan till vägen. 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}
    
  2. 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. Följande kommando uppdaterar till exempel vägens 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 återställningsvägen

Återställningsvägen skickar alla meddelanden från devicemessages källan som inte uppfyller frågevillkoren på någon av de befintliga vägarna till den inbyggda slutpunkten.

Använd kommandot az iot hub message-route reserv show för att se status för återställningsvägen i din IoT-hubb.

az iot hub message-route fallback show --hub-name {iothub_name}

Använd kommandot az iot hub message-route reserv set för att aktivera eller inaktivera återställningsvä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.