IoT Edge-modules op schaal implementeren met behulp van de Azure Portal

Van toepassing op:IoT Edge 1.4 checkmark IoT Edge 1.4

Belangrijk

IoT Edge 1.4 is de ondersteunde release. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

Maak een automatische implementatie van IoT Edge in Azure Portal om doorlopende implementaties voor veel apparaten tegelijk te beheren. Automatische implementaties voor IoT Edge maken deel uit van de apparaatbeheerfunctie van IoT Hub. Implementaties zijn dynamische processen waarmee u meerdere modules op meerdere apparaten kunt implementeren, de status en status van de modules kunt bijhouden en zo nodig wijzigingen kunt aanbrengen.

Zie Automatische implementaties van IoT Edge voor afzonderlijke apparaten of op schaal begrijpen voor meer informatie.

Apparaten identificeren met behulp van tags

Voordat u een implementatie kunt maken, moet u kunnen opgeven welke apparaten u wilt beïnvloeden. Azure IoT Edge identificeert apparaten met behulp van tags in de apparaatdubbel. Elk apparaat kan meerdere tags bevatten die u definieert op elke manier die zinvol is voor uw oplossing.

Als u bijvoorbeeld een campus met slimme gebouwen beheert, kunt u locatie-, ruimte- en omgevingstags toevoegen aan een apparaat:

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

Zie Apparaatdubbels en tags begrijpen en gebruiken in IoT Hub voor meer informatie over apparaatdubbels.

Een implementatie maken

IoT Edge biedt twee verschillende typen automatische implementaties die u kunt gebruiken om uw scenario aan te passen. U kunt een standaardimplementatie maken, waaronder die systeemruntimemodules en eventuele extra modules en routes. Elk apparaat kan slechts één implementatie toepassen. U kunt ook een gelaagde implementatie maken, die alleen aangepaste modules en routes bevat, niet de systeemruntime. Veel gelaagde implementaties kunnen worden gecombineerd op een apparaat, boven op een standaardimplementatie. Zie Voor meer informatie over hoe de twee typen automatische implementaties samenwerken, meer informatie over automatische implementaties van IoT Edge voor afzonderlijke apparaten of op schaal.

De stappen voor het maken van een implementatie en een gelaagde implementatie zijn vergelijkbaar. Eventuele verschillen worden in de volgende stappen beschreven.

  1. Ga in Azure Portal naar uw IoT Hub.
  2. Selecteer in het menu in het linkerdeelvenster Configuraties en implementaties onder Apparaatbeheer.
  3. Selecteer In de bovenste balk implementatie toevoegen>of gelaagde implementatie toevoegen.

Er zijn vijf stappen voor het maken van een implementatie. In de volgende secties wordt elke sectie beschreven.

Notitie

De stappen in dit artikel weerspiegelen de nieuwste schemaversie van de IoT Edge-agent en -hub.

Als u implementeert op een apparaat met versie 1.0.9 of eerder, bewerkt u de Runtime-Instellingen in de stap Modules van de wizard om schemaversie 1.0 te gebruiken.

Stap 1: Naam en label

  1. Geef uw implementatie een unieke naam met maximaal 128 kleine letters. Vermijd spaties en de volgende ongeldige tekens: & ^ [ ] { } \ | " < > /.
  2. U kunt labels toevoegen als sleutel-waardeparen om uw implementaties bij te houden. Bijvoorbeeld HostPlatform en Linux, of versie 3.0.1.
  3. Selecteer Volgende: Modules om naar stap twee te gaan.

Stap 2: Modules

U kunt maximaal 50 modules toevoegen aan een implementatie. Als u een implementatie zonder modules maakt, worden alle huidige modules van de doelapparaten verwijderd.

In implementaties kunt u de instellingen voor de IoT Edge-agent en IoT Edge-hubmodules beheren. Selecteer Runtime Instellingen om de twee runtimemodules te configureren. In gelaagde implementatie zijn de runtimemodules niet opgenomen, dus kunnen ze niet worden geconfigureerd.

Volg deze stappen om aangepaste code toe te voegen als een module of om handmatig een Azure-servicemodule toe te voegen:

  1. Geef in de sectie Container Registry Instellingen van de pagina de referenties op voor toegang tot alle persoonlijke containerregisters die uw module-installatiekopieën bevatten.

  2. Selecteer Toevoegen in de sectie IoT Edge-modules van de pagina.

  3. Kies een van de drie typen modules in de vervolgkeuzelijst:

    • IoT Edge-module : u geeft de modulenaam en de URI van de containerinstallatiekopieën op. De afbeeldings-URI voor de voorbeeldmodule SimulatedTemperatureSensor is mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0bijvoorbeeld . Als de module-installatiekopieën zijn opgeslagen in een privécontainerregister, voegt u de referenties op deze pagina toe om toegang te krijgen tot de installatiekopieën.
    • Marketplace-module : modules die worden gehost in Azure Marketplace. Voor sommige Marketplace-modules is extra configuratie vereist. Bekijk daarom de moduledetails in de lijst met IoT Edge-modules van Azure Marketplace.
    • Azure Stream Analytics-module : modules die zijn gegenereerd op basis van een Azure Stream Analytics-workload.
  4. Herhaal indien nodig stap 2 en 3 om extra modules toe te voegen aan uw implementatie.

Nadat u een module aan een implementatie hebt toegevoegd, kunt u de naam selecteren om de pagina IoT Edge-module bijwerken te openen. Op deze pagina kunt u de module-instellingen, omgevingsvariabelen bewerken, opties maken, opstartvolgorde en moduledubbel. Als u een module hebt toegevoegd vanuit de marketplace, zijn er mogelijk al enkele van deze parameters ingevuld. Zie Moduleconfiguratie en -beheer voor meer informatie over de beschikbare module-instellingen.

Als u een gelaagde implementatie maakt, configureert u mogelijk een module die bestaat in andere implementaties die gericht zijn op dezelfde apparaten. Als u de moduledubbel wilt bijwerken zonder andere versies te overschrijven, opent u het tabblad Moduledubbel Instellingen. Maak een nieuwe moduledubbeleigenschap met een unieke naam voor een subsectie binnen de gewenste eigenschappen van de moduledubbel, bijvoorbeeldproperties.desired.settings. Als u eigenschappen in alleen het properties.desired veld definieert, worden de gewenste eigenschappen overschreven voor de module die is gedefinieerd in implementaties met een lagere prioriteit.

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

Zie Gelaagde implementatie voor meer informatie over de configuratie van moduledubbels in gelaagde implementaties.

Zodra u alle modules voor een implementatie hebt geconfigureerd, selecteert u Volgende: Routes om naar stap drie te gaan.

Stap 3: Routes

Op het tabblad Routes definieert u hoe berichten tussen modules en de IoT Hub worden uitgewisseld. Berichten worden gemaakt met behulp van naam/waarde-paren.

Een route met een naamroute en een waarde FROM /messages/* INTO $upstream bijvoorbeeld alle berichten die door modules worden uitgevoerd en naar uw IoT-hub verzenden.

De parameters Priority en Time to Live zijn optionele parameters die u kunt opnemen in een routedefinitie. Met de prioriteitsparameter kunt u kiezen welke routes als eerste moeten worden verwerkt of welke routes als laatste moeten worden verwerkt. Prioriteit wordt bepaald door een getal 0-9 in te stellen, waarbij 0 de hoogste prioriteit heeft. Met de time to live-parameter kunt u aangeven hoe lang berichten in die route moeten worden bewaard totdat ze worden verwerkt of verwijderd uit de wachtrij.

Zie Routes declareren voor meer informatie over het maken van routes.

Selecteer Volgende: Doelapparaten.

Stap 4: Doelapparaten

Gebruik de eigenschap Tags van uw apparaten om te richten op de specifieke apparaten die deze implementatie moeten ontvangen.

Aangezien meerdere implementaties zich op hetzelfde apparaat kunnen richten, moet u elke implementatie een prioriteitsnummer geven. Als er ooit een conflict is, wint de implementatie met de hoogste prioriteit (hogere waarden geven hogere prioriteit aan). Als twee implementaties hetzelfde prioriteitsnummer hebben, wint de implementatie die het laatst is gemaakt.

Als meerdere implementaties op hetzelfde apparaat zijn gericht, wordt er slechts één met de hogere prioriteit toegepast. Als meerdere gelaagde implementaties op hetzelfde apparaat zijn gericht, worden ze allemaal toegepast. Als er echter eigenschappen worden gedupliceerd, zoals als er twee routes met dezelfde naam zijn, overschrijft de rest door de eigenschap uit de hogere prioriteit gelaagde implementatie.

Elke gelaagde implementatie die gericht is op een apparaat, moet een hogere prioriteit hebben dan de basisimplementatie om te kunnen worden toegepast.

  1. Voer een positief geheel getal in voor de implementatieprioriteit.
  2. Voer een doelvoorwaarde in om te bepalen op welke apparaten deze implementatie wordt toegepast. De voorwaarde is gebaseerd op gerapporteerde eigenschappen van apparaatdubbels of apparaatdubbels en moet overeenkomen met de expressie-indeling. Bijvoorbeeld tags.environment='test' of properties.reported.devicemodel='4000x'.

Selecteer Volgende: Metrische gegevens.

Stap 5: Metrische gegevens

Metrische gegevens bieden samenvattingsaantallen van de verschillende statussen die een apparaat kan rapporteren als gevolg van het toepassen van configuratie-inhoud.

  1. Voer een naam in voor de metrische naam.

  2. Voer een query in voor metrische criteria. De query is gebaseerd op gerapporteerde eigenschappen van ioT Edge-hubmoduledubbel. De metrische waarde vertegenwoordigt het aantal rijen dat door de query wordt geretourneerd.

    Bijvoorbeeld:

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

Selecteer Volgende: Beoordelen en maken om door te gaan naar de laatste stap.

Stap 6: Controleren en maken

Controleer uw implementatiegegevens en selecteer Vervolgens Maken.

Zie IoT Edge-implementaties bewaken om uw implementatie te bewaken.

Notitie

Wanneer er een nieuwe IoT Edge-implementatie wordt gemaakt, kan het soms tot vijf minuten duren voordat de IoT Hub de nieuwe configuratie verwerkt en de nieuwe gewenste eigenschappen doorgeeft aan de doelapparaten.

Een implementatie wijzigen

Wanneer u een implementatie wijzigt, worden de wijzigingen onmiddellijk gerepliceerd naar alle doelapparaten. U kunt de volgende instellingen en functies voor een bestaande implementatie wijzigen:

  • Doelvoorwaarden
  • Aangepaste meetwaarden
  • Etiketten
  • Codes
  • Gewenste eigenschappen

Doelvoorwaarden, aangepaste metrische gegevens en labels wijzigen

  1. Selecteer In uw IoT-hub configuraties en implementaties in het menu aan de linkerkant.

  2. Selecteer de implementatie die u wilt configureren.

  3. Selecteer het tabblad Doelapparaten . Wijzig de doelvoorwaarde om de beoogde apparaten te targeten. U kunt ook de prioriteit aanpassen.

    Als u de doelvoorwaarde bijwerkt, worden de volgende updates uitgevoerd:

    • Als een apparaat niet voldoet aan de oude doelvoorwaarde, maar voldoet aan de nieuwe doelvoorwaarde en deze implementatie de hoogste prioriteit voor dat apparaat heeft, wordt deze implementatie toegepast op het apparaat.
    • Als een apparaat waarop deze implementatie momenteel wordt uitgevoerd, niet meer voldoet aan de doelvoorwaarde, wordt deze implementatie verwijderd en wordt de volgende implementatie met de hoogste prioriteit uitgevoerd.
    • Als een apparaat waarop deze implementatie momenteel wordt uitgevoerd, niet meer voldoet aan de doelvoorwaarde en niet voldoet aan de doelvoorwaarde van andere implementaties, vindt er geen wijziging plaats op het apparaat. Het apparaat blijft de huidige modules in de huidige status uitvoeren, maar wordt niet meer beheerd als onderdeel van deze implementatie. Zodra deze voldoet aan de doelvoorwaarde van een andere implementatie, wordt deze implementatie verwijderd en wordt de nieuwe implementatie uitgevoerd.
  4. Selecteer het tabblad Metrische gegevens en klik op de knop Metrische gegevens bewerken. Aangepaste metrische gegevens toevoegen of wijzigen met behulp van de voorbeeldsyntaxis als richtlijn. Selecteer Opslaan.

    Screenshot showing how to edit custom metrics in a deployment.

  5. Selecteer het tabblad Labels en breng gewenste wijzigingen aan en selecteer Opslaan.

Een implementatie verwijderen

Wanneer u een implementatie verwijdert, nemen alle geïmplementeerde apparaten hun volgende implementatie met de hoogste prioriteit aan. Als uw apparaten niet voldoen aan de doelvoorwaarde van een andere implementatie, worden de modules niet verwijderd wanneer de implementatie wordt verwijderd.

  1. Meld u aan bij Azure Portal en navigeer naar uw IoT Hub.
  2. Selecteer Configuraties en implementaties.
  3. Gebruik het selectievakje om de implementatie te selecteren die u wilt verwijderen.
  4. Selecteer Verwijderen.
  5. Met een prompt wordt u geïnformeerd dat deze actie deze implementatie verwijdert en de vorige status voor alle apparaten herstelt. Een implementatie met een lagere prioriteit is van toepassing. Als er geen andere implementatie is gericht, worden er geen modules verwijderd. Als u alle modules van uw apparaat wilt verwijderen, maakt u een implementatie met nul modules en implementeert u deze op dezelfde apparaten. Selecteer Ja om door te gaan.

Volgende stappen

Meer informatie over het implementeren van modules op IoT Edge-apparaten.