Vytváření a odstraňování tras a koncových bodů pomocí Azure Resource Manageru
V tomto článku se dozvíte, jak exportovat šablonu Azure IoT Hubu, přidat do centra IoT trasu a pak ji znovu nasadit do centra IoT pomocí Azure CLI nebo Azure PowerShellu. Pomocí šablony Azure Resource Manageru můžete vytvářet trasy a koncové body. IoT Hub podporuje jako koncové body následující služby Azure:
- Kontejnery úložiště
- Event Hubs
- Fronty služby Service Bus
- Témata služby Service Bus
- Cosmos DB
Šablony Azure Resource Manageru jsou užitečné, když chcete definovat prostředky pomocí souboru JSON. Každý prostředek Azure má šablonu, která definuje komponenty, které se v daném prostředku používají. Můžete exportovat všechny šablony prostředků Azure.
Důležité
Když k nasazení prostředku použijete šablonu Resource Manageru, nahradí šablona všechny existující prostředky typu, který nasazujete.
Když vytvoříte nové centrum IoT, přepsání existujícího nasazeného prostředku se netýká. Pokud chcete vytvořit nové centrum IoT, můžete místo exportu existující šablony z centra IoT, která už je nasazená, použít základní šablonu s požadovanými vlastnostmi.
Pokud ale přidáte trasu do existujícího centra IoT, použijte šablonu, kterou exportujete ze služby IoT Hub, abyste zajistili, že všechny existující prostředky a vlastnosti zůstanou po nasazení aktualizované šablony připojené. Prostředky, které už jsou nasazené, se nenahradí. Exportovaná šablona Resource Manageru, kterou jste dříve nasadili, může například obsahovat informace o úložišti pro centrum IoT, pokud jste ji připojili k úložišti.
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 kroky pro nastavení trasy, která odesílá zprávy do úložiště a pak testuje na simulovaném 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
Projděte si požadavky tohoto článku na základě typu koncového bodu, do kterého chcete zprávy směrovat.
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
IoT Hub. Pokud centrum nemáte, můžete postupovat podle pokynů k vytvoření centra IoT.
Prostředek služby Event Hubs (s kontejnerem). Pokud potřebujete vytvořit nový prostředek služby Event Hubs, přečtěte si článek Rychlý start: Vytvoření centra událostí pomocí šablony Resource Manageru.
(Doporučeno) Spravovaná identita s oprávněními řízení přístupu na základě role pro obor názvů služby Event Hubs. Další informace najdete v tématu Ověření spravované identity pomocí ID Microsoft Entra pro přístup k prostředkům služby Event Hubs.
Šablona Azure Resource Manageru
Tento článek používá šablonu Azure Resource Manageru na webu Azure Portal k práci se službou IoT Hub a dalšími službami Azure. Další informace o tom, jak používat šablony Resource Manageru, najdete v tématu Co jsou šablony Azure Resource Manageru?
Vytvoření trasy
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. Potom pomocí směrovacích dotazů vyfiltrujete zprávy nebo události, než přejdou do koncového bodu.
Centrum událostí, frontu nebo téma služby Service Bus nebo účet úložiště Azure můžete použít jako koncový bod pro trasu centra IoT. Služba, kterou používáte k vytvoření koncového bodu, musí nejprve existovat ve vašem účtu Azure.
Export šablony Resource Manageru centra IoT
Nejprve exportujte šablonu Resource Manageru z centra IoT. Exportem šablony z centra IoT můžete přidat koncové body a směrovat prostředky a znovu nasadit bez ztráty stávajícího nastavení.
Na webu Azure Portal přejděte do centra IoT. V nabídce prostředků v části Automatizace vyberte Exportovat šablonu.
V části Exportovat šablonu na kartě Šablona proveďte následující kroky:
Prohlédněte si soubor JSON vygenerovaný pro centrum IoT.
Zrušte zaškrtnutí políčka Zahrnout parametry.
Výběrem možnosti Stáhnout stáhnete místní kopii souboru JSON.
Šablona obsahuje několik zástupných symbolů, které můžete použít k přidání funkcí nebo služeb do centra IoT. Pro tento článek přidejte hodnoty pouze k vlastnostem, které jsou v nebo vnořené pod
routing
.
Přidání koncového bodu do šablony
Každá trasa odkazuje na koncový bod, kde končí zprávy nebo protokoly událostí. Ve službě IoT Hub vytvořte koncový bod, na který může trasa odkazovat. Centrum událostí, frontu nebo téma služby Service Bus, účet úložiště Azure nebo kontejner Cosmos DB můžete použít jako koncový bod pro trasu centra IoT. Služba, kterou používáte k vytvoření koncového bodu, musí nejprve existovat ve vašem účtu Azure.
Vaše centrum IoT potřebuje přístupová oprávnění pro jakýkoli prostředek koncového bodu, do kterého odesílá zprávy nebo protokoly. Přístup můžete poskytnout pomocí spravovaných identit a ID Microsoft Entra nebo pomocí připojovací řetězec. Microsoft doporučuje ověřování s ID Entra jako bezpečnější možnost.
Přidejte koncový bod služby Event Hubs do šablony Resource Manageru. Další informace najdete v tématu Šablony Azure Resource Manageru RoutingEventHubProperties.
V souboru JSON vyhledejte
"endpoints": []
vlastnost, která je vnořená pod"routing"
."endpoints": []
Řádek nahraďte následujícím kódem JSON:"endpoints": { "serviceBusQueues": [], "serviceBusTopics": [], "eventHubs": [ { "endpointUri": "", "entityPath": "", "authenticationType": "identityBased", "identity": { "userAssignedIdentity": "" }, "name": "", "id": "", "subscriptionId": "", "resourceGroup": "" } ], "storageContainers": [], "cosmosDBSqlContainers": [] },
Aktualizujte JSON s následujícími informacemi o prostředku služby Event Hubs:
Vlastnost Hodnota endpointUri (Pokud je identityBased
typ ověřování ; jinak odstraňte.) Název hostitele vašeho oboru názvů služby Event Hubs ve formátusb://<eventhubs_namespace_name>.servicebus.windows.net
entityPath (Pokud je identityBased
typ ověřování ; jinak odstraňte.) Název centra událostí.authenticationType identityBased
nebokeyBased
. Microsoft doporučuje ověřování na základě identit jako bezpečnější možnost.Identity (Pokud je identityBased
typ ověřování .) Spravovanou identitu přiřazenou uživatelem nebo spravovanou identitu přiřazenou systémem můžete použít, pokud je ve službě IoT Hub povolená spravovaná identita přiřazená systémem.
Pro uživatelem přiřazené: Externí ID spravované identity s přístupovými oprávněními k vašemu centru událostí ve formátu/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>
.
Pro systém přiřazený: Ponechte parametr identity jako prázdný seznam. Například"identity": {},
připojovací řetězec (Pokud je keyBased
typ ověřování .) Primární připojovací řetězec z některé ze zásad sdíleného přístupu centra událostí ve formátu<connection_string>;EntityPath=<event_hub_name>.
Můžete načíst hodnotu připojovací řetězec z webu Azure Portal a pak připojit cestu entity.name Zadejte jedinečnou hodnotu pro pojmenování koncového bodu. ID Ponechejte prázdný řetězec. Služba Azure poskytuje hodnotu při vytváření koncového bodu. subscriptionId ID předplatného, které obsahuje vaše centrum událostí. resourceGroup Název skupiny prostředků, která obsahuje vaše centrum událostí. Tip
Pro správu tajných kódů můžete vytvořit soubor parametrů nebo pomocí služby Azure Key Vault předat hodnoty zabezpečených parametrů během nasazování.
Přidání trasy do šablony
Přidejte do šablony Resource Manageru definici trasy. Další informace najdete v tématu Šablony Azure Resource Manageru RouteProperties.
V souboru JSON vyhledejte
"routes": []
vlastnost, vnořenou pod"routing"
a přidejte novou trasu.Upozornění
Pokud nahradíte všechny existující hodnoty
"routes"
hodnotami trasy, které se používají v následujících příkladech kódu, stávající trasy se při nasazení odeberou. Pokud chcete zachovat existující trasy, přidejte do seznamu nový objekt"routes"
trasy."routes": [ { "name": "", "source": "DeviceConnectionStateEvents", "condition": "true", "endpointNames": [ "" ], "isEnabled": true } ],
Aktualizujte JSON s následujícími informacemi o vašem prostředku Cosmos DB:
Vlastnost Hodnota name Zadejte jedinečnou hodnotu pro pojmenování trasy. zdroj Vyberte zdroj zpráv nebo protokolů událostí, které chcete směrovat do koncového bodu. Seznam možností zdroje najdete v tématu az iot hub route. condition Dotaz pro filtrování zdrojových dat. Pokud není vyžadována žádná podmínka, řekněte true
. Další informace najdete v tématu Syntaxe dotazů směrování zpráv služby IoT Hub.endpointNames Název existujícího koncového bodu, ve kterém budou tato data směrována. Aktuálně je povolený jenom jeden koncový bod. isEnabled Pokud chcete true
trasu povolit nebofalse
ji zakázat, nastavte ji.Uložte soubor JSON.
Nasazení šablony Resource Manageru
S novým koncovým bodem a trasou přidanou do šablony Resource Manageru teď můžete soubor JSON nasadit zpět do centra IoT.
Místní nasazení
az deployment group create \
--name my-iot-hub-template \
--resource-group my-resource-group \
--template-file "my\path\to\template.json"
Nasazení Azure Cloud Shellu
Vzhledem k tomu, že Azure Cloud Shell běží ve webovém prohlížeči, můžete soubor šablony nahrát před spuštěním příkazu nasazení. Při nahrání souboru potřebujete jenom název souboru šablony (místo celé cesty k souboru), který chcete použít v parametru template-file
.
az deployment group create \
--name my-iot-hub-template \
--resource-group my-resource-group \
--template-file "template.json"
Poznámka:
Pokud nasazení selže, pomocí -verbose
přepínače získejte informace o prostředcích, které vytváříte. -debug
Pomocí přepínače získáte další informace pro ladění.
Potvrzení nasazení
Pokud chcete ověřit, že se vaše šablona úspěšně nasadila do Azure, přejděte na webu Azure Portal k prostředku vaší skupiny prostředků. V nabídce prostředků v části Nastavení vyberte Nasazení a zobrazte šablonu v seznamu vašich nasazení.
Pokud chcete zobrazit novou trasu na webu Azure Portal, přejděte k prostředku ioT Hubu. V podokně Směrování zpráv na kartě Trasy potvrďte, že je vaše trasa uvedená.
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.