Vytváření a odstraňování tras a koncových bodů pomocí Azure CLI

V tomto článku se dozvíte, jak spravovat trasy a koncové body Azure IoT Hub pomocí Azure CLI. Zjistěte, jak pomocí Azure CLI vytvářet trasy a koncové body pro Azure Event Hubs, Azure Service Bus fronty a témata, Azure Storage a Cosmos DB.

Další informace o tom, jak směrování funguje v IoT Hub, najdete v tématu Použití IoT Hub směrování zpráv k odesílání zpráv zařízení-cloud do různých koncových bodů. Pokud si chcete projít nastavení trasy, která odesílá zprávy do úložiště, a následné testování na simulovaném zařízení, přečtěte si kurz: Odesílání dat zařízení do služby Azure Storage pomocí směrování zpráv IoT Hub.

Požadavky

Postupy popsané v článku využívají následující zdroje informací:

  • Azure CLI
  • Služba IoT Hub
  • Služba koncového bodu v Azure

Azure CLI

Tento článek používá Azure CLI k práci s IoT Hub a dalšími službami Azure. Můžete zvolit způsob přístupu k Azure CLI:

IoT Hub

Ve svém předplatném Azure potřebujete centrum IoT. Pokud centrum ještě nemáte, můžete podle pokynů vytvořit centrum IoT pomocí Azure CLI.

Služba koncového bodu

Potřebujete alespoň jednu další službu Azure, která se použije jako koncový bod trasy. Koncový bod přijímá zprávy zařízení a protokoly událostí.

Rozhodněte se, kterou službu Azure chcete použít jako koncový bod pro příjem směrovaných dat zařízení a událostí: centrum událostí, fronta nebo téma služby, účet úložiště nebo kontejner služby Cosmos DB. Pro službu, kterou se rozhodnete použít, proveďte kroky k vytvoření služby koncového bodu.

  1. Vytvořte obor názvů služby Event Hubs a centrum událostí. Další informace najdete v tématu Rychlý start: Vytvoření centra událostí pomocí Azure CLI.

  2. Vytvořte autorizační pravidlo, které IoT Hub udělí oprávnění k odesílání dat do centra událostí.

    Tip

    Hodnota nameRootManageSharedAccessKey parametru je výchozí název, který umožňuje spravovat, odesílat a poslouchat deklarace identity (přístup). Pokud chcete omezit deklarace identity, dejte parametru name vlastní jedinečný název a přidejte --rights příznak následovaný jednou z deklarací identity. Například, --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
    

    Další informace najdete v tématu Autorizace přístupu k Azure Event Hubs.

Vytvoření koncového bodu

Všechny trasy IoT Hub odkazují na koncový bod, který bude přijímat směrovaná data o zařízení a událostech. Na stejný koncový bod může odkazovat více tras. V současné době IoT Hub podporuje koncové body pro event hubs, fronty nebo témata služby Service Bus, Úložiště a Cosmos DB. Instance služby, kterou používáte pro koncový bod, musí před vytvořením koncového bodu existovat ve vašem předplatném Azure.

Poznámka

Tento článek používá skupinu příkazů az iot hub message-endpoint , která byla zavedena ve verzi 0.19.0 rozšíření azure-iot pro Azure CLI. Předchozí verze rozšíření azure-iot používaly skupinu příkazů az iot hub routing-endpoint , která je podobná a stále se podporuje, ale nepodporuje vytváření koncových bodů služby Cosmos DB.

Pomocí následujícího příkazu aktualizujte na nejnovější verzi rozšíření azure-iot:

az extension update --name azure-iot

Pokud chcete vytvořit koncový bod služby Event Hubs, použijte autorizační pravidlo, které jste vytvořili v požadavcích.

  1. K výpisu autorizačního pravidla použijte příkaz az eventhubs eventhubs authorization-rule keys list . Zadejte následující hodnoty pro zástupné parametry:

    parameter hodnota
    eventhub_group Skupina prostředků centra událostí.
    eventhub_namespace Název oboru názvů služby Event Hubs.
    eventhub_name Název centra událostí.
    rule_name Název autorizačního pravidla pro centrum událostí. Pokud jste zkopírovali příklad v požadavcích, je RootManageSharedAccessKeytento název .
    az eventhubs eventhub authorization-rule keys list --resource-group {eventhub_group} --namespace-name {eventhub_namespace} --eventhub-name my-event-hubs --name {rule_name}
    
  2. Zkopírujte připojovací řetězec centra událostí z výstupu.

  3. K vytvoření vlastního koncového bodu použijte příkaz az iot hub message-endpoint create eventhub . Zadejte následující hodnoty pro zástupné parametry:

    parameter hodnota
    iothub_name Název centra IoT, ve kterém se tento koncový bod vytváří.
    endpoint_name Jedinečný název nového koncového bodu.
    eventhub_subscription ID předplatného centra událostí. Pokud je centrum událostí ve stejném předplatném jako IoT Hub, můžete tento argument vynechat.
    eventhub_group Skupina prostředků centra událostí. Tento argument je možné vynechat, pokud je centrum událostí ve stejné skupině prostředků jako IoT Hub.
    eventhub_connection_string Připojovací řetězec, který jste zkopírovali z autorizačního pravidla centra událostí.
    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}
    

Odstranění koncového bodu

Pokud chcete odstranit koncový bod ze služby IoT Hub, použijte příkaz az iot hub message-endpoint delete . Pomocí tohoto příkazu můžete odstranit jeden koncový bod, odstranit všechny koncové body jednoho typu nebo odstranit všechny koncové body z centra.

Následující příkaz například odstraní všechny koncové body v centru IoT, které odkazují na prostředky úložiště:

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

Vytvoření trasy IoT Hub

V IoT Hub můžete vytvořit trasu pro odesílání zpráv nebo zaznamenání událostí. Každá trasa má zdroj dat a koncový bod. Zdrojem dat jsou zprávy nebo protokoly událostí. Koncové body jsou místem, kde končí zprávy nebo protokoly událostí. Umístění zdroje dat a koncového bodu zvolíte při vytváření nové trasy ve službě IoT Hub. Volitelně můžete přidat dotazy do tras zpráv a filtrovat zprávy nebo události před jejich přechodem do koncového bodu.

Poznámka

Tento článek používá skupinu příkazů az iot hub message-route , která byla zavedena ve verzi 0.19.0 rozšíření azure-iot pro Azure CLI. Předchozí verze rozšíření azure-iot používaly skupinu příkazů az iot hub route , která je podobná a stále se podporuje.

Pomocí následujícího příkazu aktualizujte na nejnovější verzi rozšíření azure-iot:

az extension update --name azure-iot
  1. Pomocí příkazu az iot hub message-route create vytvořte novou trasu IoT Hub pomocí daného koncového bodu. Zadejte následující hodnoty pro zástupné parametry:

    parameter hodnota
    iothub_name Název centra IoT, ve kterém se tato trasa vytváří.
    route_name Jedinečný název nové trasy.
    endpoint_name Název koncového bodu, do kterého bude trasa odesílat data.
    data_source Zdroj trasy. Povolené hodnoty jsou: deviceconnectionstateevents, devicejoblifecycleevents, devicelifecycleevents, devicemessages, digitaltwinchangeevents, invalidnebo twinchangeevents.
    az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
    
  2. Pokud chcete ověřit, že se nová trasa nachází ve vašem centru IoT, pomocí příkazu az iot hub message-route list zobrazte všechny trasy ve službě IoT Hub:

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

    V Azure CLI by se měla zobrazit odpověď podobná tomuto příkladu:

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

Aktualizace trasy IoT Hub

Některé vlastnosti trasy můžete po vytvoření aktualizovat. Můžete změnit zdroj, koncový bod, podmínku nebo povolený stav existující trasy.

K zobrazení podrobností trasy použijte příkaz az iot hub message-route show .

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

Pomocí příkazu az iot hub message-route update aktualizujte vlastnosti trasy. Například následující příkaz aktualizuje zdroj trasy.

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

Odstranění trasy IoT Hub

K odstranění trasy ze služby IoT Hub použijte příkaz az iot hub message-route delete .

Odstraněním trasy se neodstraní její koncový bod, protože jiné trasy můžou odkazovat na stejný koncový bod. Pokud chcete odstranit koncový bod, můžete to udělat odděleně od odstranění trasy.

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

Správa záložní trasy

Záložní trasa odešle všechny zprávy ze devicemessages zdroje, které nesplňují podmínky dotazu na žádné z existujících tras, do integrovaného koncového bodu.

Pomocí příkazu az iot hub message-route fallback show zobrazte stav záložní trasy ve službě IoT Hub.

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

Pomocí příkazu az iot hub message-route fallback set povolte nebo zakažte záložní trasu ve službě IoT Hub.

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

Další kroky

V tomto článku s postupy jste se dozvěděli, jak vytvořit trasu a koncový bod pro službu Event Hubs, fronty a témata služby Service Bus a Azure Storage.

Další informace o směrování zpráv najdete v kurzu Odesílání dat zařízení do služby Azure Storage pomocí IoT Hub směrování zpráv. V tomto kurzu vytvoříte trasu úložiště a otestujete ji na zařízení ve službě IoT Hub.