Sdílet prostřednictvím


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.

Š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í.

  1. Na webu 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 Hubu

  2. V části Exportovat šablonu na kartě Šablona proveďte následující kroky:

    1. Prohlédněte si soubor JSON vygenerovaný pro centrum IoT.

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

    3. Výběrem možnosti Stáhnout stáhnete 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. 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.

  1. V souboru JSON vyhledejte "endpoints": [] vlastnost, která je vnořená pod "routing".

  2. "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": []
    },
    
  3. Aktualizujte JSON s následujícími informacemi o prostředku služby Event Hubs:

    Vlastnost Hodnota
    endpointUri (Pokud je identityBasedtyp ověřování ; jinak odstraňte.) Název hostitele vašeho oboru názvů služby Event Hubs ve formátu sb://<eventhubs_namespace_name>.servicebus.windows.net
    entityPath (Pokud je identityBasedtyp ověřování ; jinak odstraňte.) Název centra událostí.
    authenticationType identityBased nebo keyBased. Microsoft doporučuje ověřování na základě identit jako bezpečnější možnost.
    Identity (Pokud je identityBasedtyp 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 keyBasedtyp 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í.

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.

  1. 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
        }
    ],
    
  2. 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 nebo false ji zakázat, nastavte ji.
  3. 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 .

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

Snímek obrazovky znázorňující seznam nasazení pro prostředek na webu Azure Portal se zvýrazněnou testovací šablonou

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.