Delen via


Routes en eindpunten maken en verwijderen met behulp van de Azure CLI

In dit artikel leest u hoe u Azure IoT Hub-routes en -eindpunten beheert met behulp van de Azure CLI. Leer hoe u de Azure CLI gebruikt om routes en eindpunten te maken voor Azure Event Hubs, Azure Service Bus-wachtrijen en onderwerpen, Azure Storage en Cosmos DB.

Zie IoT Hub-berichtroutering gebruiken om apparaat-naar-cloud-berichten naar verschillende eindpunten te verzenden voor meer informatie over hoe routering werkt in IoT Hub. Zie zelfstudie: Apparaatgegevens verzenden naar Azure Storage met behulp van IoT Hub-berichtroutering om stapsgewijs een route in te stellen waarmee berichten naar de opslag worden verzonden en vervolgens op een gesimuleerd apparaat worden getest.

Vereisten

De procedures die in het artikel worden beschreven, gebruiken de volgende bronnen:

  • De Azure CLI
  • Een IoT-hub
  • Een eindpuntservice in Azure

Azure-CLI

In dit artikel wordt de Azure CLI gebruikt om te werken met IoT Hub en andere Azure-services. U kunt kiezen hoe u toegang krijgt tot de Azure CLI:

IoT Hub

Een IoT-hub in uw Azure-abonnement hebben. Als u nog geen hub hebt, kunt u de stappen volgen in Een IoT-hub maken.

Eindpuntservice

U hebt ten minste één andere Azure-service nodig om te gebruiken als eindpunt voor de route. Het eindpunt ontvangt apparaatberichten en gebeurtenislogboeken.

Bepaal welke Azure-service u wilt gebruiken als eindpunt voor het ontvangen van gerouteerde apparaat- en gebeurtenisgegevens: een Event Hub, een servicewachtrij of onderwerp, een opslagaccount of een Cosmos DB-container. Voor de service die u wilt gebruiken, voert u de stappen uit om een eindpuntservice te maken.

  1. Een Event Hubs-naamruimte en een Event Hub maken. Zie quickstart: Een Event Hub maken met behulp van de Azure CLI voor meer informatie.

  2. Maak een autorisatieregel die wordt gebruikt om IoT Hub toestemming te geven om gegevens naar de Event Hub te verzenden.

    Tip

    De name waarde RootManageSharedAccessKey van de parameter is de standaardnaam waarmee claims beheren, verzenden, luisteren (toegang) zijn toegestaan. Als u de claims wilt beperken, geeft u de name parameter uw eigen unieke naam en neemt u de --rights vlag op gevolgd door een van de claims. Bijvoorbeeld: --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
    

    Zie Toegang tot Azure Event Hubs autoriseren voor meer informatie.

Een eindpunt maken

Alle IoT Hub-routes verwijzen naar een eindpunt, dat het gerouteerde apparaat en de gebeurtenisgegevens ontvangt. Meer dan één route kan verwijzen naar hetzelfde eindpunt. Momenteel ondersteunt IoT Hub eindpunten voor Event Hubs, Service Bus-wachtrijen of onderwerpen, Opslag en Cosmos DB. Een exemplaar van de service die u voor uw eindpunt gebruikt, moet aanwezig zijn in uw Azure-abonnement voordat u het eindpunt maakt.

Notitie

In dit artikel wordt gebruikgemaakt van de opdrachtgroep az iot hub message-endpoint , die is geïntroduceerd in versie 0.19.0 van de azure-iot-extensie voor de Azure CLI. In eerdere versies van de azure-iot-extensie is gebruikgemaakt van de opdrachtgroep az iot hub routing-endpoint . Deze is vergelijkbaar en wordt nog steeds ondersteund, maar biedt geen ondersteuning voor het maken van Cosmos DB-eindpunten.

Gebruik de volgende opdracht om bij te werken naar de nieuwste versie van de azure-iot-extensie:

az extension update --name azure-iot

Als u een Event Hubs-eindpunt wilt maken, gebruikt u de autorisatieregel die u hebt gemaakt in de vereisten.

  1. Gebruik de opdracht az eventhubs eventhub authorization-rule keys list om uw autorisatieregel weer te geven. Geef de volgende waarden op voor de parameters van de tijdelijke aanduiding:

    parameter waarde
    eventhub_group Resourcegroep van de Event Hub.
    eventhub_namespace Naam van de Event Hubs-naamruimte.
    eventhub_name Naam van de Event Hub.
    rule_name De naam van de autorisatieregel voor de Event Hub. Als u het voorbeeld in de vereisten hebt gekopieerd, is RootManageSharedAccessKeydeze naam.
    az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
    
  2. Kopieer uw Event Hub-verbindingsreeks uit de uitvoer.

  3. Gebruik de opdracht az iot hub message-endpoint create eventhub om uw aangepaste eindpunt te maken. Geef de volgende waarden op voor de parameters van de tijdelijke aanduiding:

    parameter waarde
    iothub_name De naam van de IoT-hub waar dit eindpunt wordt gemaakt.
    endpoint_name Een unieke naam voor het nieuwe eindpunt.
    eventhub_subscription Abonnements-id van de Event Hub. Dit argument kan worden weggelaten als de Event Hub zich in hetzelfde abonnement bevindt als de IoT-hub.
    eventhub_group Resourcegroep van de Event Hub. Dit argument kan worden weggelaten als de Event Hub zich in dezelfde resourcegroep bevindt als de IoT-hub.
    eventhub_connection_string De verbindingsreeks die u hebt gekopieerd uit de event hub-autorisatieregel.
    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}
    

Een eindpunt verwijderen

Als u een eindpunt uit uw IoT-hub wilt verwijderen, gebruikt u de opdracht az iot hub message-endpoint delete . Met deze opdracht kunt u één eindpunt verwijderen, alle eindpunten van één type verwijderen of alle eindpunten uit een hub verwijderen.

Met de volgende opdracht worden bijvoorbeeld alle eindpunten in een IoT-hub verwijderd die verwijzen naar opslagbronnen:

az iot hub message-endpoint delete --hub-name {iothub_name} --endpoint-type storage-container

Een IoT Hub-route maken

In IoT Hub kunt u een route maken om berichten te verzenden of gebeurtenissen vast te leggen. Elke route heeft een gegevensbron en een eindpunt. De gegevensbron is waar berichten of gebeurtenislogboeken vandaan komen. Het eindpunt is waar de berichten of gebeurtenislogboeken terechtkomen. U kiest locaties voor de gegevensbron en het eindpunt wanneer u een nieuwe route in uw IoT-hub maakt. U kunt desgewenst query's toevoegen aan berichtroutes om berichten of gebeurtenissen te filteren voordat ze naar het eindpunt gaan.

Notitie

In dit artikel wordt gebruikgemaakt van de opdrachtgroep az iot hub message-route , die is geïntroduceerd in versie 0.19.0 van de azure-iot-extensie voor de Azure CLI. In eerdere versies van de azure-iot-extensie is gebruikgemaakt van de opdrachtgroep az iot hub route , die vergelijkbaar is en nog steeds wordt ondersteund.

Gebruik de volgende opdracht om bij te werken naar de nieuwste versie van de azure-iot-extensie:

az extension update --name azure-iot
  1. Gebruik de opdracht az iot hub message-route create om een nieuwe IoT Hub-route te maken met behulp van dat eindpunt. Geef de volgende waarden op voor de parameters van de tijdelijke aanduiding:

    parameter waarde
    iothub_name De naam van de IoT-hub waar deze route wordt gemaakt.
    route_name Een unieke naam voor de nieuwe route.
    endpoint_name De naam van het eindpunt waarnaar de route gegevens verzendt.
    data_source De bron van de route. Geaccepteerde waarden zijn: deviceconnectionstateevents, devicejoblifecycleevents, devicelifecycleevents, devicemessages, digitaltwinchangeevents, , , invalidof twinchangeevents.
    az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
    
  2. Als u wilt controleren of de nieuwe route zich in uw IoT-hub bevindt, gebruikt u de opdracht az iot hub message-route list om alle routes in uw IoT-hub weer te geven:

    az iot hub message-route list --hub-name {iothub_name}
    

    Als het goed is, ziet u een antwoord in de Azure CLI die vergelijkbaar is met dit voorbeeld:

    [
       {
         "condition": "true",
         "endpointNames": [
           "endpoint_name"
         ],
         "isEnabled": true,
         "name": "route_name",
         "source": "DeviceConnectionStateEvents"
       }
    ]
    

Een IoT Hub-route bijwerken

U kunt enkele eigenschappen van een route bijwerken nadat deze is gemaakt. U kunt de bron-, eindpunt-, voorwaarde- of ingeschakelde status van een bestaande route wijzigen.

Gebruik de opdracht az iot hub message-route show om de details van een route weer te geven.

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

Gebruik de opdracht az iot hub message-route update om de eigenschappen van een route bij te werken. Met de volgende opdracht wordt bijvoorbeeld de bron van de route bijgewerkt.

az iot hub message-route update --hub-name {iothub_name} --route-name {route_name} --source devicejoblifecycleevents

Een IoT Hub-route verwijderen

Gebruik de opdracht az iot hub message-route delete om een route uit uw IoT-hub te verwijderen.

Als u een route verwijdert, wordt het eindpunt niet verwijderd omdat andere routes naar hetzelfde eindpunt kunnen verwijzen. Als u een eindpunt wilt verwijderen, kunt u dit afzonderlijk doen van het verwijderen van een route.

az iot hub message-route delete --hub-name {iothub_name} --route-name {route_name}

De terugvalroute beheren

De terugvalroute verzendt alle berichten van devicemessages de bron die niet voldoen aan queryvoorwaarden op een van de bestaande routes naar het ingebouwde eindpunt.

Gebruik de opdracht az iot hub message-route fallback show om de status van de terugvalroute in uw IoT-hub te bekijken.

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

Gebruik de opdracht az iot hub message-route fallback set om de terugvalroute in of uit te schakelen in uw IoT-hub.

az iot hub message-route fallback set --hub-name {iothub_name} --enabled {true_false}

Volgende stappen

In dit artikel hebt u geleerd hoe u een route en eindpunt maakt voor Event Hubs, Service Bus-wachtrijen en onderwerpen en Azure Storage.

Zie zelfstudie: Apparaatgegevens verzenden naar Azure Storage met behulp van IoT Hub-berichtroutering voor meer informatie over berichtroutering. In de zelfstudie maakt u een opslagroute en test u deze met een apparaat in uw IoT-hub.