Sdílet prostřednictvím


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 služby Azure IoT Hub pomocí Azure CLI. Naučte se používat Azure CLI k vytváření tras a koncových bodů pro službu Azure Event Hubs, fronty a témata služby Azure Service Bus, Azure Storage a Cosmos DB.

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

Požadavky

Postupy popsané v článku použí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 se službou IoT Hub a dalšími službami Azure. Můžete zvolit, jak se dostanete k Azure CLI:

IoT Hub

Máte ve svém předplatném Azure centrum IoT. Pokud centrum ještě nemáte, můžete postupovat podle kroků v tématu Vytvoření centra IoT.

Služba koncových bodů

K použití jako koncového bodu na trasu potřebujete aspoň jednu jinou službu Azure. 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í, frontu služby nebo téma, účet úložiště nebo kontejner 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é se použije k udělení oprávnění ioT Hubu k odesílání dat do centra událostí.

    Tip

    Hodnota name RootManageSharedAccessKey parametru je výchozí název, který umožňuje spravovat, odeslat, naslouchat deklaracím identity (přístup). Pokud chcete deklarace identity omezit, zadejte name parametr vlastní jedinečný název a zahrňte --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 ke službě Azure Event Hubs.

Vytvoření koncového bodu

Všechny trasy IoT Hubu odkazují na koncový bod, který bude přijímat směrovaná data zařízení a událostí. Na stejný koncový bod může odkazovat více než jedna trasa. IoT Hub v současné době podporuje koncové body pro centra událostí, fronty služby Service Bus nebo témata, úložiště a Cosmos DB. Před vytvořením koncového bodu musí instance služby, kterou používáte pro svůj koncový bod, 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 podporovaná, ale nepodporuje vytváření koncových bodů 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 parametry zástupného symbolu:

    parametr 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 centra 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 centrum událostí připojovací řetězec 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 parametry zástupného symbolu:

    parametr hodnota
    iothub_name Název ioT Hubu, 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í. Tento argument je možné vynechat, pokud je centrum událostí ve stejném předplatném jako IoT Hub.
    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 Hubu

Ve službě IoT Hub můžete vytvořit trasu pro odesílání zpráv nebo zachytávání událostí. Každá trasa má zdroj dat a koncový bod. Zdrojem dat jsou zprávy nebo protokoly událostí. Koncový bod je místo, kde končí zprávy nebo protokoly událostí. Při vytváření nové trasy ve službě IoT Hub zvolíte umístění pro zdroj dat a koncový bod. Volitelně můžete přidat dotazy do tras zpráv pro filtrování zpráv nebo událostí předtím, než přejdou 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 podporovaná.

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 Hubu pomocí daného koncového bodu. Zadejte následující hodnoty pro parametry zástupného symbolu:

    parametr 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. Přijaté hodnoty jsou: deviceconnectionstateevents, devicejoblifecycleevents, , devicemessagesdevicelifecycleevents, 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 nová trasa je 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 Hubu

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

K zobrazení podrobností o trase 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 Hubu

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

Odstranění trasy neodstraní jeho koncový bod, protože jiné trasy můžou odkazovat na stejný koncový bod. Pokud chcete koncový bod odstranit, 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 náhradní trasy

Náhradní trasa odesílá všechny zprávy ze devicemessages zdroje, které nesplňují podmínky dotazu u žádné z existujících tras do integrovaného koncového bodu.

Pomocí příkazu az iot hub message-route fallback show zobrazte stav náhradní 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 náhradní 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 zjistili, 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 tématu Kurz: Odesílání dat zařízení do služby Azure Storage pomocí směrování zpráv ioT Hubu. V tomto kurzu vytvoříte trasu úložiště a otestujete ji pomocí zařízení ve službě IoT Hub.