Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
IoT Edge 1.1
Viktigt!
IoT Edge 1.1 slutdatum för support var den 13 december 2022. I Microsofts produktlivscykel finns information om hur den här produkten, tjänsten, tekniken eller API:et stöds. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge.
Azure IoT Edge stöder utökade offlineåtgärder på dina IoT Edge-enheter och aktiverar även offlineåtgärder på underordnade enheter. Så länge en IoT Edge-enhet har haft en möjlighet att ansluta till IoT Hub kan den enheten och eventuella underordnade enheter fortsätta att fungera med tillfällig eller ingen internetanslutning.
Så här fungerar det
När en IoT Edge-enhet hamnar i offlineläge får IoT Edge-hubben tre roller. Först lagrar den alla meddelanden som skulle gå uppströms och sparar dem tills enheten återansluts. För det andra agerar den på uppdrag av IoT Hub för att autentisera moduler och underordnade enheter så att de kan fortsätta att fungera. För det tredje möjliggör det kommunikation mellan underordnade enheter som normalt skulle gå via IoT Hub.
I följande exempel visas hur ett IoT Edge-scenario fungerar i offlineläge:
Konfigurera enheter
IoT Edge-enheter har automatiskt offlinefunktioner aktiverade. Om du vill utöka den funktionen till andra enheter måste du konfigurera underordnade enheter så att de litar på sin tilldelade överordnade enhet och dirigerar kommunikationen från enhet till moln via den överordnade som en gateway.
Synkronisera med IoT Hub
Minst en gång efter installationen av IoT Edge-körningen måste IoT Edge-enheten vara online för att synkronisera med IoT Hub. I den här synkroniseringen hämtar IoT Edge-enheten information om eventuella underordnade enheter som tilldelats den. IoT Edge-enheten uppdaterar också sin lokala cache på ett säkert sätt för att aktivera offlineåtgärder och hämtar inställningar för lokal lagring av telemetrimeddelanden.
Gå offline
När den är frånkopplad från IoT Hub kan IoT Edge-enheten, dess distribuerade moduler och eventuella underordnade enheter fungera på obestämd tid. Moduler och underordnade enheter kan starta och starta om genom att autentisera med IoT Edge-hubben när de är offline. Telemetri som är bunden uppströms till IoT Hub lagras lokalt. Kommunikationen mellan moduler eller mellan nedströmsenheter upprätthålls via direkta metoder eller meddelanden.
Återansluta och synkronisera om med IoT Hub
När anslutningen till IoT Hub har återställts synkroniseras IoT Edge-enheten igen. Lokalt lagrade meddelanden levereras till IoT Hub direkt, men är beroende av anslutningens hastighet, IoT Hub-svarstid och relaterade faktorer. De levereras i samma ordning som de lagrades.
Eventuella skillnader mellan de önskade och rapporterade egenskaperna för modulerna och enheterna avstäms. IoT Edge-enheten uppdaterar alla ändringar i sin uppsättning tilldelade underordnade enheter.
Restriktioner och begränsningar
De utökade offlinefunktionerna som beskrivs i den här artikeln är tillgängliga i IoT Edge version 1.0.7 eller senare. Tidigare versioner har en delmängd av offlinefunktioner. Befintliga IoT Edge-enheter som inte har utökade offlinefunktioner kan inte uppgraderas genom att ändra körningsversionen, men måste konfigureras om med en ny IoT Edge-enhetsidentitet för att få dessa funktioner.
Endast icke-IoT Edge-enheter kan läggas till som underordnade enheter.
IoT Edge-enheter och deras tilldelade nedströmsenheter kan fungera på obestämd tid offline efter den första engångssynkroniseringen. Lagringen av meddelanden beror dock på TTL-inställningen (time to live) och det tillgängliga diskutrymmet för att lagra meddelandena.
En enhets EdgeAgent uppdaterar sina rapporterade egenskaper när distributionsstatusen ändras, till exempel en ny eller misslyckad distribution. När en enhet är offline kan EdgeAgent inte rapportera status till Azure-portalen. Enhetsstatusen i Azure-portalen kan därför förbli 200 OK när IoT Edge-enheten inte har någon internetanslutning.
Konfigurera föräldra- och barneenheter
Som förinställning kan en överordnad enhet ha upp till 100 underordnade enheter. Du kan ändra den här gränsen genom att ange miljövariabeln MaxConnectedClients i edgeHub-modulen. En barneenhet har bara en förälderenhet.
Anmärkning
En nedströmsenhet genererar data direkt till Internet eller till gatewayenheter (IoT Edge-aktiverade eller inte). En underordnad enhet kan vara en nedströmsenhet eller en gatewayenhet i en kapslad topologi.
Underordnade enheter kan vara alla icke-IoT Edge-enheter som är registrerade på samma IoT Hub.
Om du inte är bekant med att skapa en föräldra-barn-relation mellan en IoT Edge-enhet och en IoT-enhet kan du läsa Autentisera en nedströmsenhet till Azure IoT Hub. Avsnitten symmetrisk nyckel, självsignerade X.509 och CA-signerade X.509 visar exempel på hur du använder Azure Portal och Azure CLI för att definiera överordnade och underordnade relationer när du skapar enheter. För befintliga enheter kan du ange relationen från informationssidan för antingen den överordnade eller underordnade enheten.
Konfigurera den överordnade enheten som en gateway
Du kan se en överordnad/underordnad relation som en transparent gateway, där den underordnade enheten har en egen identitet i IoT Hub men kommunicerar genom molnet via dess överordnade enhet. För säker kommunikation måste den underordnade enheten kunna verifiera att den överordnade enheten kommer från en betrodd källa. Annars kan tredje part konfigurera skadliga enheter för att personifiera föräldrar och avlyssna kommunikation.
Ett sätt att skapa den här förtroenderelationen beskrivs i detalj i följande artiklar:
- Konfigurera en IoT Edge-enhet så att den fungerar som en transparent gateway
- Anslut en underordnad enhet till en Azure IoT Edge-gateway
Ange DNS-servrar
För att förbättra robustheten rekommenderar vi starkt att du anger de DNS-serveradresser som används i din miljö. För att ange din DNS-server för IoT Edge, se lösningen i felsökningsartikeln för Edge Agent-modulen rapporterar 'tom konfigurationsfil' och inga moduler startar på enheten.
Valfria offlineinställningar
Om dina enheter går offline lagrar den överordnade IoT Edge-enheten alla meddelanden från enhet till moln tills anslutningen återupprättas. IoT Edge-hubbmodulen hanterar lagring och vidarebefordran av offlinemeddelanden. För enheter som kan kopplas från under längre tidsperioder optimerar du prestanda genom att konfigurera två IoT Edge-hubbinställningar.
Öka först inställningen time to live så att IoT Edge-hubben behåller meddelanden tillräckligt länge för att enheten ska kunna återansluta. Lägg sedan till ytterligare diskutrymme för meddelandelagring.
Tid att leva
Inställningen time to live är den tid (i sekunder) som ett meddelande kan vänta på att levereras innan det upphör att gälla. Standardvärdet är 7 200 sekunder (två timmar). Det maximala värdet begränsas endast av det maximala värdet för en heltalsvariabel, vilket är cirka 2 miljarder.
Den här inställningen är en önskad egenskap för IoT Edge-hubben, som lagras i modultvillingen. Du kan konfigurera den i Azure Portal eller direkt i distributionsmanifestet.
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
Värdlagring för systemmoduler
Meddelanden och modultillståndsinformation lagras som standard i IoT Edge-hubbens lokala containerfilsystem. För bättre tillförlitlighet, särskilt när du arbetar offline, kan du även avdela lagring på värd-IoT Edge-enheten. Mer information finns i Ge moduler åtkomst till en enhets lokala lagring
Nästa steg
Läs mer om hur du konfigurerar en transparent gateway för dina förälder/barn enhetsanslutningar: