Distribuera IoT Edge-moduler i stor skala med hjälp av Azure-portalen

Gäller för:IoT Edge 1.4 checkmark IoT Edge 1.4

Viktigt!

IoT Edge 1.4 är den version som stöds. Om du har en tidigare version läser du Uppdatera IoT Edge.

Skapa en automatisk IoT Edge-distribution i Azure-portalen för att hantera pågående distributioner för många enheter samtidigt. Automatiska distributioner för IoT Edge är en del av enhetshanteringsfunktionen i IoT Hub. Distributioner är dynamiska processer som gör att du kan distribuera flera moduler till flera enheter, spåra status och hälsa för modulerna och göra ändringar vid behov.

Mer information finns i Förstå automatiska IoT Edge-distributioner för enskilda enheter eller i stor skala.

Identifiera enheter med taggar

Innan du kan skapa en distribution måste du kunna ange vilka enheter du vill påverka. Azure IoT Edge identifierar enheter med taggar i enhetstvillingen. Varje enhet kan ha flera taggar som du definierar på alla sätt som passar din lösning.

Om du till exempel hanterar ett campus med smarta byggnader kan du lägga till plats-, rumstyp- och miljötaggar till en enhet:

"tags":{
  "location":{
    "building": "20",
    "floor": "2"
  },
  "roomtype": "conference",
  "environment": "prod"
}

Mer information om enhetstvillingar och taggar finns i Förstå och använda enhetstvillingar i IoT Hub.

Skapa en distribution

IoT Edge innehåller två olika typer av automatiska distributioner som du kan använda för att anpassa ditt scenario. Du kan skapa en standarddistribution, som omfattar systemkörningsmoduler och eventuella ytterligare moduler och vägar. Varje enhet kan bara använda en distribution. Eller så kan du skapa en distribution i flera lager, som endast innehåller anpassade moduler och vägar, inte systemkörningen. Många distributioner i flera lager kan kombineras på en enhet utöver en standarddistribution. Mer information om hur de två typerna av automatiska distributioner fungerar tillsammans finns i Förstå automatiska IoT Edge-distributioner för enskilda enheter eller i stor skala.

Stegen för att skapa en distribution och en distribution i flera lager är mycket lika. Eventuella skillnader beskrivs i följande steg.

  1. I Azure-portalen går du till din IoT Hub.
  2. På menyn i det vänstra fönstret väljer du Konfigurationer + distributioner under Enhetshantering.
  3. I det övre fältet väljer du Lägg till lägg till>distribution eller Lägg till lagerdistribution.

Det finns fem steg för att skapa en distribution. Följande avsnitt går igenom var och en.

Kommentar

Stegen i den här artikeln återspeglar den senaste schemaversionen av IoT Edge-agenten och hubben.

Om du distribuerar till en enhet som kör version 1.0.9 eller tidigare redigerar du Runtime-Inställningar i modulsteget i guiden för att använda schemaversion 1.0.

Steg 1: Namn och etikett

  1. Ge distributionen ett unikt namn som är upp till 128 gemener. Undvik blanksteg och följande ogiltiga tecken: & ^ [ ] { } \ | " < > /.
  2. Du kan lägga till etiketter som nyckel/värde-par för att spåra dina distributioner. Till exempel HostPlatform och Linux, eller Version och 3.0.1.
  3. Välj Nästa: Moduler för att gå vidare till steg två.

Steg 2: Moduler

Du kan lägga till upp till 50 moduler i en distribution. Om du skapar en distribution utan moduler, tar den bort alla aktuella moduler från målenheterna.

I distributioner kan du hantera inställningarna för IoT Edge-agenten och IoT Edge-hubbmodulerna. Välj Kör Inställningar för att konfigurera de två körningsmodulerna. I lagerdistribution ingår inte runtime-modulerna, så det går inte att konfigurera.

Följ dessa steg om du vill lägga till anpassad kod som en modul eller lägga till en Azure-tjänstmodul manuellt:

  1. I avsnittet Container Registry Inställningar på sidan anger du autentiseringsuppgifterna för åtkomst till privata containerregister som innehåller dina modulavbildningar.

  2. I avsnittet IoT Edge-moduler på sidan väljer du Lägg till.

  3. Välj någon av de tre typerna av moduler i den nedrullningsbara menyn:

    • IoT Edge-modul – Du anger modulnamnet och containeravbildningens URI. Till exempel är mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0bild-URI:n för exempelmodulen SimulatedTemperatureSensor . Om modulavbildningen lagras i ett privat containerregister lägger du till autentiseringsuppgifterna på den här sidan för att komma åt avbildningen.
    • Marketplace-modul – moduler som finns på Azure Marketplace. Vissa Marketplace-moduler kräver ytterligare konfiguration, så granska modulinformationen i listan Azure Marketplace IoT Edge-moduler .
    • Azure Stream Analytics-modul – Moduler som genereras från en Azure Stream Analytics-arbetsbelastning.
  4. Upprepa vid behov steg 2 och 3 för att lägga till ytterligare moduler i distributionen.

När du har lagt till en modul i en distribution kan du välja dess namn för att öppna sidan Uppdatera IoT Edge-modul . På den här sidan kan du redigera modulinställningar, miljövariabler, skapa alternativ, startordning och modultvilling. Om du har lagt till en modul från Marketplace kanske vissa av dessa parametrar redan är ifyllda. Mer information om de tillgängliga modulinställningarna finns i Modulkonfiguration och -hantering.

Om du skapar en distribution i flera lager kanske du konfigurerar en modul som finns i andra distributioner som riktar sig till samma enheter. Om du vill uppdatera modultvillingen utan att skriva över andra versioner öppnar du fliken Modultvilling Inställningar. Skapa en ny modultvillingegenskap med ett unikt namn för ett underavsnitt i modultvillingens önskade egenskaper, till exempel properties.desired.settings. Om du definierar egenskaper inom bara properties.desired fältet skrivs de önskade egenskaperna för modulen som definierats i distributioner med lägre prioritet över.

Screenshot showing how to set the module twin property for layered deployment.

Mer information om konfiguration av modultvillingar i lagerdistributioner finns i Lagerdistribution.

När du har konfigurerat alla moduler för en distribution väljer du Nästa: Vägar för att gå vidare till steg tre.

Steg 3: Vägar

På fliken Vägar definierar du hur meddelanden skickas mellan moduler och IoT Hub. Meddelanden skapas med namn/värde-par.

Till exempel skulle en väg med en namnväg och ett värde FROM /messages/* INTO $upstream ta alla meddelanden som matas ut av alla moduler och skicka dem till din IoT-hubb.

Parametrarna Prioritet och Tid till live är valfria parametrar som du kan inkludera i en vägdefinition. Med prioritetsparametern kan du välja vilka vägar som ska bearbetas först eller vilka vägar som ska bearbetas sist. Prioritet bestäms genom att ange talet 0–9, där 0 är högsta prioritet. Med time to live-parametern kan du deklarera hur länge meddelanden i den vägen ska lagras tills de antingen bearbetas eller tas bort från kön.

Mer information om hur du skapar vägar finns i Deklarera vägar.

Välj Nästa: Målenheter.

Steg 4: Målenheter

Använd egenskapen tags från dina enheter för att rikta in dig på de specifika enheter som ska ta emot den här distributionen.

Eftersom flera distributioner kan riktas mot samma enhet bör du ge varje distribution ett prioritetsnummer. Om det uppstår en konflikt vinner distributionen med högsta prioritet (större värden anger högre prioritet). Om två distributioner har samma prioritetsnummer vinner den som skapades senast.

Om flera distributioner riktar sig mot samma enhet tillämpas endast den med högre prioritet. Om flera lagerdistributioner riktar sig mot samma enhet tillämpas alla. Men om några egenskaper dupliceras, till exempel om det finns två vägar med samma namn, skriver den från distributionen med högre prioritet över resten.

Alla distributioner i lager som riktar sig till en enhet måste ha högre prioritet än basdistributionen för att kunna tillämpas.

  1. Ange ett positivt heltal för distributionsprioriteten.
  2. Ange ett målvillkor för att avgöra vilka enheter som ska vara mål för den här distributionen. Villkoret baseras på enhetstvillingtaggar eller rapporterade egenskaper för enhetstvillingar och ska matcha uttrycksformatet. Exempel: tags.environment='test' eller properties.reported.devicemodel='4000x'.

Välj Nästa: Mått.

Steg 5: Mått

Mått ger sammanfattningar av de olika tillstånd som en enhet kan rapportera tillbaka till följd av att konfigurationsinnehåll tillämpas.

  1. Ange ett namn för Måttnamn.

  2. Ange en fråga för måttkriterier. Frågan baseras på rapporterade egenskaper för IoT Edge Hub-modultvillingar. Måttet representerar antalet rader som returneras av frågan.

    Till exempel:

    SELECT deviceId FROM devices
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Välj Nästa: Granska + Skapa för att gå vidare till det sista steget.

Steg 6: Granska och skapa

Granska distributionsinformationen och välj sedan Skapa.

Information om hur du övervakar distributionen finns i Övervaka IoT Edge-distributioner.

Kommentar

När en ny IoT Edge-distribution skapas kan det ibland ta upp till 5 minuter för IoT Hub att bearbeta den nya konfigurationen och sprida de nya önskade egenskaperna till målenheterna.

Ändra en distribution

När du ändrar en distribution replikeras ändringarna omedelbart till alla målenheter. Du kan ändra följande inställningar och funktioner för en befintlig distribution:

  • Målvillkor
  • Anpassade mått
  • Etiketter
  • Taggar
  • Önskade egenskaper

Ändra målvillkor, anpassade mått och etiketter

  1. I din IoT-hubb väljer du Konfigurationer + distributioner på menyn i det vänstra fönstret.

  2. Välj den distribution som du vill konfigurera.

  3. Välj fliken Målenheter . Ändra målvillkoret så att det riktar sig mot de avsedda enheterna. Du kan också justera Prioritet.

    Om du uppdaterar målvillkoret sker följande uppdateringar:

    • Om en enhet inte uppfyllde det gamla målvillkoret, men uppfyller det nya målvillkoret och den här distributionen är den högsta prioriteten för den enheten, tillämpas den här distributionen på enheten.
    • Om en enhet som för närvarande kör den här distributionen inte längre uppfyller målvillkoret avinstallerar den distributionen och tar på sig den näst högsta prioritetsdistributionen.
    • Om en enhet som för närvarande kör den här distributionen inte längre uppfyller målvillkoret och inte uppfyller målvillkoret för andra distributioner sker ingen ändring på enheten. Enheten fortsätter att köra sina aktuella moduler i sitt aktuella tillstånd, men hanteras inte längre som en del av den här distributionen. När den uppfyller målvillkoret för en annan distribution avinstallerar den den här distributionen och tar på sig den nya.
  4. Välj fliken Mått och klicka på knappen Redigera mått . Lägg till eller ändra anpassade mått med hjälp av exempelsyntaxen som guide. Välj Spara.

    Screenshot showing how to edit custom metrics in a deployment.

  5. Välj fliken Etiketter och gör önskade ändringar och välj Spara.

Ta bort en distribution

När du tar bort en distribution får alla distribuerade enheter sin näst högsta prioritetsdistribution. Om dina enheter inte uppfyller målvillkoret för någon annan distribution tas modulerna inte bort när distributionen tas bort.

  1. Logga in på Azure-portalen och gå till din IoT Hub.
  2. Välj Konfigurationer + distributioner.
  3. Använd kryssrutan för att välja den distribution som du vill ta bort.
  4. Välj Ta bort.
  5. En uppmaning informerar dig om att den här åtgärden tar bort den här distributionen och återgår till det tidigare tillståndet för alla enheter. En distribution med lägre prioritet gäller. Om ingen annan distribution är riktad tas inga moduler bort. Om du vill ta bort alla moduler från enheten skapar du en distribution med noll moduler och distribuerar den till samma enheter. Välj Ja för att fortsätta.

Nästa steg

Läs mer om att distribuera moduler till IoT Edge-enheter.