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:
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
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.
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.
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, zadejtename
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.
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 RootManageSharedAccessKey
tento 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}
Zkopírujte centrum událostí připojovací řetězec z výstupu.
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
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
, ,devicemessages
devicelifecycleevents
,digitaltwinchangeevents
,invalid
nebotwinchangeevents
.az iot hub message-route create --hub-name {iothub_name} --route-name {route_name} --endpoint-name {endpoint_name} --source {data_source}
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.