Skapa och ta bort vägar och slutpunkter med hjälp av Azure Resource Manager

Den här artikeln visar hur du exporterar din Azure IoT Hub-mall, lägger till en väg till din IoT-hubb och sedan distribuerar om mallen till din IoT-hubb med hjälp av Azure CLI eller Azure PowerShell. Använd en Azure Resource Manager-mall för att skapa vägar och slutpunkter för Azure Event Hubs, Azure Service Bus köer och ämnen samt Azure Storage.

Azure Resource Manager-mallar är användbara när du vill definiera resurser med hjälp av en JSON-fil. Varje Azure-resurs har en mall som definierar de komponenter som används i den resursen. Du kan exportera alla Azure-resursmallar.

Viktigt

När du använder en Resource Manager mall för att distribuera en resurs ersätter mallen alla befintliga resurser av den typ som du distribuerar.

När du skapar en ny IoT-hubb är det inte ett problem att skriva över en befintlig distribuerad resurs. Om du vill skapa en ny IoT-hubb kan du använda en grundläggande mall som har de egenskaper som krävs i stället för att exportera en befintlig mall från en IoT-hubb som redan har distribuerats.

Men om du lägger till en väg till en befintlig IoT Hub-Resource Manager mall använder du en mall som du exporterar från din IoT-hubb för att säkerställa att alla befintliga resurser och egenskaper förblir anslutna när du har distribuerat den uppdaterade mallen. Resurser som redan har distribuerats ersätts inte. Till exempel kan en exporterad Resource Manager mall som du tidigare distribuerade innehålla lagringsinformation för din IoT-hubb om du har anslutit den till lagring.

Mer information om hur routning fungerar i IoT Hub finns i Använda IoT Hub meddelanderoutning för att skicka meddelanden från enhet till moln till olika slutpunkter. Information om hur du konfigurerar en väg som skickar meddelanden till lagring och sedan testar på en simulerad enhet finns i Självstudie: Skicka enhetsdata till Azure Storage med hjälp av IoT Hub meddelanderoutning.

Förutsättningar

De procedurer som beskrivs i artikeln använder följande resurser:

  • En Azure Resource Manager-mall
  • En IoT Hub
  • En slutpunktstjänst i Azure

Azure Resource Manager-mall

Den här artikeln använder en Azure Resource Manager-mall i Azure Portal för att arbeta med IoT Hub och andra Azure-tjänster. Mer information om hur du använder Resource Manager mallar finns i Vad är Azure Resource Manager mallar?

IoT-hubb

För att skapa en IoT Hub-väg behöver du en IoT-hubb som du skapade med hjälp av Azure IoT Hub. Enhetsmeddelanden och händelseloggar kommer från din IoT-hubb.

Se till att ha följande hubbresurs att använda när du skapar din IoT Hub-väg:

Slutpunktstjänst

För att skapa en IoT-hubbväg behöver du minst en annan Azure-tjänst som ska användas som slutpunkt för vägen. Slutpunkten tar emot enhetsmeddelanden och händelseloggar. Du kan välja vilken Azure-tjänst du använder för en slutpunkt för att ansluta till din IoT-hubbväg: Event Hubs, Service Bus-köer eller ämnen eller Azure Storage.

Se till att ha någon av följande resurser att använda när du skapar en slutpunkt för din IoT Hub-väg:

Skapa en väg

I IoT Hub kan du skapa en väg för att skicka meddelanden eller avbilda händelser. Varje väg har en datakälla och en slutpunkt. Datakällan är den där meddelanden eller händelseloggar kommer från. Slutpunkten är där meddelandena eller händelseloggarna hamnar. Du väljer platser för datakällan och slutpunkten när du skapar en ny väg i din IoT-hubb. Sedan använder du routningsfrågor för att filtrera meddelanden eller händelser innan de går till slutpunkten.

Du kan använda en händelsehubb, en Service Bus-kö eller ett ämne eller ett Azure-lagringskonto för att vara slutpunkten för din IoT Hub-väg. Den tjänst som du använder för att skapa slutpunkten måste först finnas i ditt Azure-konto.

Exportera Resource Manager-mallen från din IoT-hubb

Exportera först en Resource Manager mall från din IoT-hubb och lägg sedan till en väg till den.

  1. I Azure Portal går du till din IoT-hubb. På resursmenyn under Automation väljer du Exportera mall.

    Skärmbild som visar platsen för alternativet Exportera mall på menyn i en IoT Hub resurs.

  2. Slutför följande steg på fliken Mall i Exportera mall:

    1. Visa JSON-filen som genereras för din IoT-hubb.

    2. Avmarkera kryssrutan Inkludera parametrar .

    3. Välj Ladda ned för att ladda ned en lokal kopia av JSON-filen.

    Skärmbild som visar platsen för knappen Ladda ned i fönstret Exportera mall.

    Mallen har flera platshållare som du kan använda för att lägga till funktioner eller tjänster i din IoT-hubb. I den här artikeln lägger du endast till värden i egenskaper som är i eller kapslade under routing.

Lägga till en ny slutpunkt i din Resource Manager-mall

Leta reda på egenskapen "endpoints": [] som är kapslad under "routing"i JSON-filen. Slutför stegen för att lägga till en ny slutpunkt baserat på den Azure-tjänst som du väljer för slutpunkten: Event Hubs, Service Bus-köer eller ämnen eller Azure Storage.

Information om hur du skapar en Event Hubs-resurs (med container) finns i Snabbstart: Skapa en händelsehubb med hjälp av en Resource Manager mall.

I Azure Portal hämtar du din primära anslutningssträng från din Event Hubs-resurs. I resursens fönstret Principer för delad åtkomst väljer du en av dina principer för att se informationen om nyckel- och anslutningssträngen. Lägg till händelsehubbens namn i entitetssökvägen i slutet av anslutningssträngen. Använd till exempel ;EntityPath=my-event-hubs. Det här namnet är händelsehubbens namn, inte namnområdets namn.

För nameanvänder du ett unikt värde för din Event Hubs-slutpunkt. Lämna parametern id som en tom sträng. Azure-tjänsten ger ett id värde när du distribuerar slutpunkten.

"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": []
   },
},

Lägga till en ny väg till din Resource Manager-mall

I JSON-filen letar du upp "routes": [] egenskapen kapslad under "routing"och lägger till följande nya väg enligt den slutpunktstjänst du valde: Event Hubs, Service Bus-köer eller ämnen eller Azure Storage.

Standardåterställningsvägen samlar in meddelanden från DeviceMessages. Välj ett annat alternativ, till exempel DeviceConnectionStateEvents. Mer information om källalternativ finns i az iot hub route ( az iot hub route).

Varning

Om du ersätter befintliga värden för "routes" med de vägvärden som används i följande kodexempel tas de befintliga vägarna bort när du distribuerar. Om du vill bevara befintliga vägar lägger du till det nya routningsobjektet i "routes" listan.

Mer information om mallen finns i Resursdefinition för Azure Resource Manager-mall.

"routes": [
    {
        "name": "MyIotHubRoute",
        "source": "DeviceConnectionStateEvents",
        "condition": "true",
        "endpointNames": [
        "my-event-hubs-endpoint"
        ],
        "isEnabled": true
    }
],

Spara JSON-filen.

Distribuera mallen Resource Manager

När den nya slutpunkten och vägen har lagts till i mallen Resource Manager kan du nu distribuera JSON-filen tillbaka till din IoT-hubb.

Lokal distribution

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "my\path\to\template.json"

Azure Cloud Shell distribution

Eftersom Azure Cloud Shell körs i en webbläsare kan du ladda upp mallfilen innan du kör distributionskommandot. När filen har laddats upp behöver du bara mallfilnamnet (i stället för hela filsökvägen) som ska användas i parametern template-file .

Skärmbild som visar platsen för knappen i Azure Cloud Shell för att ladda upp en fil.

az deployment group create \
  --name my-iot-hub-template \
  --resource-group my-resource-group \
  --template-file "template.json"

Anteckning

Om distributionen misslyckas använder du växeln -verbose för att hämta information om de resurser som du skapar. Använd växeln -debug för att få mer information om felsökning.

Bekräfta distributionen

Om du vill bekräfta att mallen har distribuerats till Azure går du till resursgruppsresursen i Azure Portal. På resursmenyn under Inställningar väljer du Distributioner för att se mallen i en lista över dina distributioner.

Skärmbild som visar en lista över distributioner för en resurs i Azure Portal med en testmall markerad.

Om du vill visa din nya väg i Azure Portal går du till din IoT Hub resurs. I fönstret Meddelanderoutning på fliken Vägar bekräftar du att din väg visas.

Nästa steg

I den här artikeln har du lärt dig hur du skapar en väg och slutpunkt för Event Hubs, Service Bus-köer och -ämnen samt Azure Storage.

Mer information om meddelanderoutning finns i Självstudie: Skicka enhetsdata till Azure Storage med hjälp av IoT Hub meddelanderoutning. I självstudien skapar du en lagringsväg och testar den med en enhet i din IoT-hubb.