Vytváření a odstraňování tras a koncových bodů pomocí Azure Resource Manager
V tomto článku se dozvíte, jak exportovat šablonu Azure IoT Hub, přidat trasu do centra IoT a pak ji znovu nasadit do služby IoT Hub pomocí Azure CLI nebo Azure PowerShell. Pomocí šablony Azure Resource Manager můžete vytvářet trasy a koncové body pro Azure Event Hubs, Azure Service Bus fronty a témata a Azure Storage.
Šablony Azure Resource Manager 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é
Pokud k nasazení prostředku použijete šablonu Resource Manager, 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 není problém. Pokud chcete vytvořit nové centrum IoT, můžete místo exportu existující šablony ze služby IoT Hub, která je už nasazená, použít základní šablonu s požadovanými vlastnostmi.
Pokud ale přidáte trasu do existující šablony služby IoT Hub Resource Manager, použijte šablonu, kterou exportujete ze služby IoT Hub, abyste zajistili, že po nasazení aktualizované šablony zůstanou všechny existující prostředky a vlastnosti připojené. Prostředky, které už jsou nasazené, se nenahradí. Například exportovaná šablona Resource Manager, kterou jste dříve nasadili, může obsahovat informace o úložišti pro centrum IoT, pokud jste ho připojili k úložišti.
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ů. Postup nastavení trasy, která odesílá zprávy do úložiště a následné testování na simulovaném zařízení, najdete v tématu 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í:
- Šablona Azure Resource Manageru
- Služba IoT Hub
- Služba koncového bodu v Azure
Šablona Azure Resource Manageru
Tento článek používá šablonu Azure Resource Manager v Azure Portal pro práci s IoT Hub a dalšími službami Azure. Další informace o používání šablon Resource Manager najdete v tématu Co jsou šablony Azure Resource Manager?
IoT Hub
K vytvoření trasy centra IoT potřebujete centrum IoT, které jste vytvořili pomocí Azure IoT Hub. Zprávy zařízení a protokoly událostí pocházejí ze služby IoT Hub.
Ujistěte se, že máte následující prostředek centra, který můžete použít při vytváření trasy centra IoT:
- IoT Hub ve vašem předplatném Azure. Pokud centrum ještě nemáte, můžete podle pokynů vytvořit centrum IoT pomocí šablony Azure Resource Manager (PowerShell).
Služba koncového bodu
Pokud chcete vytvořit trasu centra IoT, 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í. Můžete zvolit, kterou službu Azure použijete pro připojení koncového bodu ke své trase centra IoT: Event Hubs, fronty nebo témata služby Service Bus nebo Azure Storage.
Ujistěte se, že máte jeden z následujících prostředků, které můžete použít při vytváření koncového bodu vaší trasy služby IoT Hub:
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 Manager.
Prostředek fronty služby Service Bus. Pokud potřebujete vytvořit novou frontu služby Service Bus, přečtěte si rychlý start: Vytvoření oboru názvů a fronty služby Service Bus pomocí šablony Resource Manager.
Prostředek tématu služby Service Bus. Pokud potřebujete vytvořit nové téma služby Service Bus, přečtěte si rychlý start: Vytvoření oboru názvů služby Service Bus s tématem a předplatným pomocí šablony Resource Manager.
Prostředek služby Azure Storage. Pokud potřebujete vytvořit novou službu Azure Storage, přečtěte si téma Vytvoření účtu úložiště.
Vytvoření trasy
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. Pak použijete směrovací dotazy k filtrování zpráv nebo událostí před jejich přechodem do koncového bodu.
Jako koncový bod pro trasu služby IoT Hub můžete použít centrum událostí, frontu nebo téma služby Service Bus nebo účet úložiště Azure. Služba, kterou použijete k vytvoření koncového bodu, musí nejprve existovat ve vašem účtu Azure.
Export šablony Resource Manager ze služby IoT Hub
Nejprve vyexportujte šablonu Resource Manager ze služby IoT Hub a pak do ní přidejte trasu.
V 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 tyto kroky:
Prohlédněte si soubor JSON, který se vygeneroval pro vaše centrum IoT.
Zrušte zaškrtnutí políčka Zahrnout parametry .
Vyberte Stáhnout a stáhněte si 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. V tomto článku přidejte hodnoty pouze do vlastností, které jsou v nebo vnořené pod
routing
.
Přidání nového koncového bodu do šablony Resource Manager
V souboru JSON vyhledejte "endpoints": []
vlastnost, která je vnořená v části "routing"
. Dokončete postup přidání nového koncového bodu na základě služby Azure, kterou pro koncový bod zvolíte: Event Hubs, fronty nebo témata služby Service Bus nebo Azure Storage.
Informace o vytvoření prostředku Služby Event Hubs (s kontejnerem) najdete v tématu Rychlý start: Vytvoření centra událostí pomocí šablony Resource Manager.
V Azure Portal získejte primární připojovací řetězec z prostředku služby Event Hubs. V podokně Zásady sdíleného přístupu prostředku vyberte jednu ze zásad, abyste zobrazili informace o klíči a připojovacím řetězci. Přidejte název centra událostí do cesty k entitě na konci připojovacího řetězce. Použijte ;EntityPath=my-event-hubs
například . Tento název je název vašeho centra událostí, nikoli název vašeho oboru názvů.
Pro name
použijte jedinečnou hodnotu koncového bodu služby Event Hubs.
id
Parametr ponechte jako prázdný řetězec. Služba Azure poskytuje id
hodnotu při nasazování koncového bodu.
"routing": {
"endpoints": {
"serviceBusQueues": [],
"serviceBusTopics": [],
"eventHubs": [
{
"connectionString": "my Event Hubs connection string + entity path",
"authenticationType": "keyBased",
"name": "my-event-hubs-endpoint",
"id": "",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"resourceGroup": "my-resource-group"
}
],
"storageContainers": [],
"cosmosDBSqlCollections": []
},
},
Přidání nové trasy do šablony Resource Manager
V souboru JSON vyhledejte "routes": []
vlastnost vnořenou pod "routing"
a přidejte následující novou trasu podle služby koncového bodu, kterou jste zvolili: Event Hubs, fronty nebo témata služby Service Bus nebo Azure Storage.
Výchozí záložní trasa shromažďuje zprávy z DeviceMessages
. Zvolte jinou možnost, například DeviceConnectionStateEvents
. Další informace o možnostech zdroje najdete v tématu az iot hub route.
Upozornění
Pokud nahradíte existující hodnoty pro "routes"
hodnotami směrování, které se používají v následujících příkladech kódu, stávající trasy se při nasazení odeberou. Chcete-li zachovat existující trasy, přidejte do "routes"
seznamu nový objekt trasy.
Další informace o šabloně najdete v tématu Definice prostředku šablony Azure Resource Manager.
"routes": [
{
"name": "MyIotHubRoute",
"source": "DeviceConnectionStateEvents",
"condition": "true",
"endpointNames": [
"my-event-hubs-endpoint"
],
"isEnabled": true
}
],
Uložte soubor JSON.
Nasazení šablony Resource Manager
Po přidání nového koncového bodu a trasy do šablony Resource Manager 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 Shell
Vzhledem k tomu, že Azure Cloud Shell běží ve webovém prohlížeči, můžete před spuštěním příkazu nasazení nahrát soubor šablony. Po nahrání souboru potřebujete v parametru použít template-file
pouze název souboru šablony (místo celé cesty k souboru).
az deployment group create \
--name my-iot-hub-template \
--resource-group my-resource-group \
--template-file "template.json"
Poznámka
Pokud nasazení selže, použijte -verbose
přepínač k získání informací 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 v Azure Portal na prostředek skupiny prostředků. V nabídce prostředků v části Nastavení vyberte Nasazení , aby se šablona zobrazila v seznamu vašich nasazení.
Pokud chcete novou trasu zobrazit v Azure Portal, přejděte k prostředku IoT Hub. V podokně Směrování zpráv na kartě Trasy ověřte, že je vaše trasa uvedená.
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.