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:

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:

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.

  1. V Azure Portal přejděte do centra IoT. V nabídce prostředků v části Automatizace vyberte Exportovat šablonu.

    Snímek obrazovky znázorňující umístění možnosti Exportovat šablonu v nabídce prostředku IoT Hub

  2. V části Exportovat šablonu na kartě Šablona proveďte tyto kroky:

    1. Prohlédněte si soubor JSON, který se vygeneroval pro vaše centrum IoT.

    2. Zrušte zaškrtnutí políčka Zahrnout parametry .

    3. Vyberte Stáhnout a stáhněte si místní kopii souboru JSON.

    Snímek obrazovky znázorňující umístění tlačítka Stáhnout v podokně Exportovat šablonu

    Š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-hubsnapříklad . Tento název je název vašeho centra událostí, nikoli název vašeho oboru názvů.

Pro namepouž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).

Snímek obrazovky znázorňující umístění tlačítka v Azure Cloud Shell pro nahrání 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í.

Snímek obrazovky se seznamem nasazení prostředku v Azure Portal se zvýrazněnou testovací šablonou

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.