Så här länkar och hanterar du IoT-hubbar

Azure IoT Hub Device Provisioning Service (DPS) kan etablera enheter över en eller flera IoT-hubbar. Innan DPS kan etablera enheter till en IoT-hubb måste den länkas till din DPS-instans. När en IoT-hubb är länkad kan den användas i en allokeringsprincip. Allokeringsprinciper avgör hur enheter tilldelas till IoT-hubbar av DPS. Den här artikeln innehåller instruktioner om hur du länkar IoT-hubbar och hanterar dem i din DPS-instans.

Länkade IoT-hubbar och allokeringsprinciper

DPS kan bara etablera enheter till IoT-hubbar som har länkats till den. Om du länkar en IoT-hubb till en DPS-instans får tjänsten läs-/skrivbehörighet till IoT-hubbens enhetsregister. Med dessa behörigheter kan DPS registrera ett enhets-ID och ange den inledande konfigurationen i enhetstvillingen. Länkade IoT-hubbar kan finnas i valfri Azure-region. Du kan länka hubbar i andra prenumerationer till din DPS-instans.

När en IoT-hubb har länkats till DPS är den berättigad att delta i allokeringen. Om och hur den kommer att delta i allokeringen beror på inställningar i registreringen som en enhet etablerar via och inställningar på själva den länkade IoT-hubben.

Följande inställningar styr hur DPS använder länkade IoT-hubbar:

  • Anslut ionssträng: Anger den IoT Hub-anslutningssträng som DPS använder för att ansluta till den länkade IoT-hubben. Anslutningssträng baseras på en av IoT-hubbens principer för delad åtkomst. DPS behöver följande behörigheter på IoT-hubben: RegistryWrite och Service Anslut. Anslutningssträng måste vara för en princip för delad åtkomst som har dessa behörigheter. Mer information om principer för delad åtkomst i IoT Hub finns i Åtkomstkontroll och behörigheter för IoT Hub.

  • Allokeringsvikt: Avgör sannolikheten för att en IoT-hubb väljs när DPS hashar enhetstilldelning över en uppsättning IoT-hubbar. Värdet kan vara mellan ett och 1 000. Standardvärdet är en (eller null). Högre värden ökar IoT-hubbens sannolikhet att väljas.

  • Tillämpa allokeringsprincip: Anger om IoT-hubben deltar i allokeringsprincipen. Standardvärdet är Ja (sant). Om värdet är Nej (falskt) tilldelas inte enheterna till IoT-hubben. IoT-hubben kan fortfarande väljas för en registrering, men den deltar inte i allokeringen. Du kan använda den här inställningen för att tillfälligt eller permanent ta bort en IoT-hubb från att delta i allokeringen. om den till exempel närmar sig det tillåtna antalet enheter.

Mer information om DPS-allokeringsprinciper och hur länkade IoT-hubbar deltar i dem finns i Hantera allokeringsprinciper.

Lägga till en länkad IoT-hubb

När du länkar en IoT-hubb till din DPS-instans blir den tillgänglig för att delta i allokeringen. Du kan lägga till IoT-hubbar som finns i eller utanför din prenumeration. När du länkar en IoT-hubb kanske den inte är tillgänglig för allokeringar i befintliga registreringar:

  • För registreringar som inte uttryckligen anger de IoT-hubbar som ska tillämpas på allokeringsprincipen börjar en nyligen länkad IoT-hubb omedelbart delta i allokering.

  • För registreringar som uttryckligen anger de IoT-hubbar som ska tillämpas på allokeringsprincipen måste du manuellt eller programmatiskt lägga till den nya IoT-hubben i registreringsinställningarna för att den ska kunna delta i allokeringen.

Begränsningar

  • Det finns vissa begränsningar när du arbetar med länkade IoT-hubbar och privata slutpunkter. Mer information finns i Begränsningar för privata slutpunkter.

  • Den länkade IoT Hub måste ha Anslut med principer för delad åtkomst inställda på Tillåt.

I Azure-portalen kan du länka en IoT-hubb antingen från den vänstra menyn i DPS-instansen eller från registreringen när du skapar eller uppdaterar en registrering. I båda fallen är IoT-hubben begränsad till DPS-instansen (inte bara registreringen).

Så här länkar du en IoT-hubb till din DPS-instans i Azure-portalen:

  1. På den vänstra menyn i DPS-instansen väljer du Länkade IoT-hubbar.

  2. Längst upp på sidan väljer du + Lägg till.

  3. På sidan Lägg till länk till IoT Hub väljer du den prenumeration som innehåller IoT-hubben och väljer sedan namnet på IoT Hub i IoT Hub-listan.

  4. När du har valt IoT-hubben väljer du en åtkomstprincip som DPS ska använda för att ansluta till IoT-hubben. Listan Åtkomstprincip visar alla principer för delad åtkomst som definierats på den valda IoT Hub som har både RegistryWrite- och Service Anslut-behörigheter definierade. Standardvärdet är principen iothubowner . Välj den princip som du vill använda.

  5. Välj Spara.

När du skapar eller uppdaterar en registrering kan du använda knappen Länka en ny IoT-hubb i registreringen. Du får samma sida och val som ovan. När du har sparat den länkade hubben blir den tillgänglig på din DPS-instans och kan väljas från din registrering.

Kommentar

I Azure-portalen kan du inte ange inställningarna Allokeringsvikt och Tillämpa allokeringsprincip när du lägger till en länkad IoT-hubb. I stället kan du uppdatera de här inställningarna när IoT-hubben har länkats. Mer information finns i Uppdatera en länkad IoT-hubb.

Använd kommandot az iot dps linked-hub create Azure CLI för att länka en IoT-hubb till din DPS-instans.

Följande kommando länkar till exempel en IoT-hubb med namnet MyExampleHub med hjälp av en anslutningssträng för dess princip för delad åtkomst i iothubowner. Det här kommandot lämnar inställningarna Allokeringsvikt och Tillämpa allokeringsprincip som standard, men du kan ange värden för de här inställningarna om du vill.

az iot dps linked-hub create --dps-name MyExampleDps --resource-group MyResourceGroup --connection-string "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=XNBhoasdfhqRlgGnasdfhivtshcwh4bJwe7c0RIGuWsirW0=" --location westus

DPS stöder också länkning av IoT Hubs med hjälp av REST-API:et För att skapa eller uppdatera DPS-resursen , Resource Manager-mallar och DPS Management SDK:er.

Uppdatera en länkad IoT-hubb

Du kan uppdatera inställningarna på en länkad IoT-hubb för att ändra dess allokeringsvikt, om allokeringsprinciper kan tillämpas på den och de anslutningssträng som DPS använder för att ansluta till den. När du uppdaterar inställningarna för en IoT-hubb träder ändringarna i kraft omedelbart, oavsett om IoT-hubben har angetts för en registrering eller används som standard.

Använd Azure-portalen för att uppdatera en länkad IoT-hubb

I Azure-portalen kan du uppdatera inställningarna Allokeringsvikt och Tillämpa allokeringsprincip .

Så här uppdaterar du inställningarna för en länkad IoT-hubb med hjälp av Azure-portalen:

  1. På den vänstra menyn i DPS-instansen väljer du Länkade IoT-hubbar och väljer sedan IoT-hubben i listan.

  2. På informationssidan för länkad IoT-hubb :

    Screenshot that shows the linked IoT hub details page. .

    • Använd skjutreglaget eller textrutan Allokeringsvikt för att välja en vikt mellan en och 1 000. Standardvärdet är ett.

    • Ange växeln Tillämpa allokeringsprincip för att ange om den länkade IoT-hubben ska ingå i allokeringen.

  3. Spara inställningarna.

Kommentar

Du kan inte uppdatera anslutningssträng som DPS använder för att ansluta till IoT-hubben från Azure-portalen. I stället kan du använda Azure CLI för att uppdatera anslutningssträng, eller så kan du ta bort den länkade IoT-hubben från DPS-instansen och länka om den. Mer information finns i Uppdatera nycklar för länkade IoT-hubbar.

Använda Azure CLI för att uppdatera en länkad IoT-hubb

Med Azure CLI kan du uppdatera inställningarna Allokeringsvikt, Tillämpa allokeringsprincip och Anslut ionssträng.

Använd kommandot az iot dps linked-hub update för att uppdatera allokeringsvikten eller tillämpa inställningar för allokeringsprinciper. Följande kommando anger till exempel allokeringsvikten och tillämpar allokeringsprincip för en länkad IoT-hubb:

az iot dps linked-hub update --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub --allocation-weight 2 --apply-allocation-policy true

Använd kommandot az iot dps update för att uppdatera anslutningssträng för en länkad IoT-hubb. Du kan använda parametern --set tillsammans med anslutningssträng för den princip för delad åtkomst i IoT Hub som du vill använda. Mer information finns i Uppdatera nycklar för länkade IoT-hubbar.

DPS stöder också uppdatering av länkade IoT Hubs med hjälp av REST-API:et För att skapa eller uppdatera DPS-resursen , Resource Manager-mallar och DPS Management SDK:er.

Ta bort en länkad IoT-hubb

När du tar bort en länkad IoT-hubb från din DPS-instans är den inte längre tillgänglig för framtida registreringar. Det kan dock tas bort från allokeringar i befintliga registreringar:

  • För registreringar som inte uttryckligen anger de IoT-hubbar som ska tillämpas på allokeringsprincipen är en borttagen länkad IoT-hubb inte längre tillgänglig för allokering.

  • För registreringar som uttryckligen anger de IoT-hubbar som ska tillämpas på allokeringsprincipen måste du manuellt eller programmatiskt ta bort IoT-hubben från registreringsinställningarna för att den ska tas bort från deltagande i allokering. Om du inte gör det kan det uppstå ett fel när en enhet försöker etablera via registreringen.

Använd Azure-portalen för att ta bort en länkad IoT-hubb

Så här tar du bort en länkad IoT-hubb från din DPS-instans i Azure-portalen:

  1. På den vänstra menyn i DPS-instansen väljer du Länkade IoT-hubbar.

  2. I listan över IoT-hubbar markerar du kryssrutan bredvid de IoT-hubbar eller IoT-hubbar som du vill ta bort. Välj sedan Ta bort överst på sidan och bekräfta ditt val när du uppmanas att göra det.

Använda Azure CLI för att ta bort en länkad IoT-hubb

Använd kommandot az iot dps linked-hub delete för att ta bort en länkad IoT-hubb från DPS-instansen. Följande kommando tar till exempel bort IoT-hubben med namnet MyExampleHub:

az iot dps linked-hub delete --dps-name MyExampleDps --resource-group MyResourceGroup --linked-hub MyExampleHub

DPS stöder också borttagning av länkade IoT Hubs från DPS-instansen med hjälp av REST-API:et För att skapa eller uppdatera DPS-resursen , Resource Manager-mallar och DPS Management SDK:er.

Uppdatera nycklar för länkade IoT-hubbar

Det kan bli nödvändigt att antingen rotera eller uppdatera de symmetriska nycklarna för en IoT-hubb som har länkats till DPS. I det här fallet måste du också uppdatera inställningen anslutningssträng i DPS för den länkade IoT-hubben. Observera att etableringen till en IoT-hubb misslyckas under tiden mellan uppdatering av en nyckel på IoT-hubben och uppdatering av DPS-instansen med den nya anslutningssträngen baserat på den nyckeln. Därför rekommenderar vi att du använder Azuer CLI för att uppdatera dina nycklar eftersom du kan uppdatera konnktionssträngen på den länkade hubben direcctly. Med Azure-portalen måste du ta bort IoT-hubben från din DPS-instans och sedan länka om den för att uppdatera anslutningssträng.

Använd Azure-portalen för att uppdatera nycklar

Du kan inte uppdatera inställningen anslutningssträng för en länkad IoT Hub när du använder Azure-portalen. I stället måste du ta bort den länkade IoT-hubben från DPS-instansen och sedan lägga till den igen.

Så här uppdaterar du symmetriska nycklar för en länkad IoT-hubb i Azure-portalen:

  1. På den vänstra menyn i DPS-instansen i Azure-portalen väljer du den IoT-hubb som du vill uppdatera nycklarna för.

  2. På sidan Linked IoT Hub details (Länkad IoT-hubbinformation ) noterar du värdena för Allokeringsvikt och Tillämpa allokeringsprincip. Du behöver dessa värden när du länkar om IoT-hubben till DPS-instansen senare. Välj sedan Hantera resurs för att gå till IoT-hubben.

  3. På den vänstra menyn i IoT-hubben går du till Säkerhetsinställningar och väljer Principer för delad åtkomst.

  4. Principer för delad åtkomst går du till Hantera principer för delad åtkomst och väljer den princip som DPS-instansen använder för att ansluta till den länkade IoT-hubben.

  5. Överst på sidan väljer du Återskapa primärnyckel, Återskapa sekundär nyckel eller Växla nycklar och bekräftar ditt val när du uppmanas att göra det.

  6. Gå tillbaka till din DPS-instans.

  7. Följ stegen i Ta bort en IoT-hubb för att ta bort IoT-hubben från din DPS-instans.

  8. Följ stegen i Länka en IoT-hubb för att länka om IoT-hubben till din DPS-instans med den nya anslutningssträng för principen.

  9. Om du behöver återställa allokeringsvikten och tillämpa principinställningar för allokering följer du stegen i Uppdatera en länkad IoT-hubb med de värden som du sparade i steg 2.

Använda Azure CLI för att uppdatera nycklar

Så här uppdaterar du symmetriska nycklar för en länkad IoT-hubb med Azure CLS:

  1. Använd kommandot az iot hub policy renew-key för att växla eller återskapa de symmetriska nycklarna för principen för delad åtkomst på IoT-hubben. Följande kommando förnyar till exempel den primära nyckeln för principen för delad åtkomst i iothubowner på en IoT-hubb:

    az iot hub policy renew-key --hub-name MyExampleHub --name owner --rk primary
    
  2. Använd kommandot az iot hub connection-string show för att hämta den nya anslutningssträng för principen för delad åtkomst. Följande kommando hämtar till exempel den primära anslutningssträng för principen för delad åtkomst i iothubowner som primärnyckeln återskapades för i föregående kommando:

    az iot hub connection-string show --hub-name MyExampleHub --policy-name owner --key-type primary
    
  3. Använd kommandot az iot dps linked-hub list för att hitta positionen för IoT Hub i samlingen med länkade IoT-hubbar för din DPS-instans. Följande kommando hämtar till exempel den primära anslutningssträng för principen för delad åtkomst för ägare som primärnyckeln återskapades för i föregående kommando:

    az iot dps linked-hub list --dos-name MyExampleDps
    

    Utdata visar positionen för den länkade IoT-hubb som du vill uppdatera anslutningssträng för i tabellen med länkade IoT-hubbar som underhålls av DPS-instansen. I det här fallet är det den första IoT-hubben i listan, MyExampleHub.

    [
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "MyExampleHub.azure-devices.net"
    },
    {
        "allocationWeight": null,
        "applyAllocationPolicy": null,
        "connectionString": "HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=****",
        "location": "centralus",
        "name": "NyExampleHub-2.azure-devices.net"
    }
    ]
    
  4. Använd kommandot az iot dps update för att uppdatera anslutningssträng för den länkade IoT-hubben. Du använder parametern --set och positionen för den länkade IoT-hubben i properties.iotHubs[] tabellen för att rikta in dig på IoT-hubben. Följande kommando uppdaterar till exempel anslutningssträng för MyExampleHub som returnerades först i föregående kommando:

    az iot dps update --name MyExampleDps --set properties.iotHubs[0].connectionString="HostName=MyExampleHub-2.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=NewTokenValue"
    

Nästa steg