Einrichten eines neuen V2-Core-Geräts zum Testen von V1-Anwendungen - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einrichten eines neuen V2-Core-Geräts zum Testen von V1-Anwendungen

Richten Sie ein neues - AWS IoT Greengrass V2 Core AWS-Gerät ein, um von bereitgestellte Komponenten und Funktionen für Ihre AWS IoT Greengrass V1 Anwendungen bereitzustellen und AWS Lambda zu testen. Sie können dieses V2-Core-Gerät auch verwenden, um zusätzliche benutzerdefinierte Greengrass-Komponenten zu entwickeln und zu testen, die native Prozesse auf Core-Geräten ausführen. Nachdem Sie Ihre Anwendungen auf einem V2-Core-Gerät getestet haben, können Sie Ihre vorhandenen V1-Core-Geräte auf V2 aktualisieren und die V2-Komponenten bereitstellen, die Ihre V1-Funktionalität bereitstellen.

Schritt 1: Installieren von AWS IoT Greengrass V2 auf einem neuen Gerät

Installieren Sie die AWS IoT Greengrass Core-Software v2.x auf einem neuen Gerät. Sie können dem Tutorial „Erste Schritte“ folgen, um ein Gerät einzurichten und zu erfahren, wie Sie Komponenten entwickeln und bereitstellen. In diesem Tutorial wird die automatische Bereitstellung verwendet, um schnell ein Gerät einzurichten. Wenn Sie die AWS IoT Greengrass Core-Software v2.x installieren, geben Sie das --deploy-dev-tools Argument an, um die Greengrass-CLI bereitzustellen, damit Sie Komponenten direkt auf dem Gerät entwickeln, testen und debuggen können. Weitere Informationen zu anderen Installationsoptionen, einschließlich der Installation der AWS IoT Greengrass Core-Software hinter einem Proxy oder der Verwendung eines Hardware-Sicherheitsmoduls (HSM), finden Sie unter Installieren Sie die AWS IoT Greengrass Core-Software..

(Optional) Aktivieren der Protokollierung in Amazon CloudWatch Logs

Damit ein V2-Core AWS-Gerät Protokolle in Amazon CloudWatch Logs hochladen kann, können Sie die von bereitgestellte Protokollmanagerkomponente bereitstellen. Sie können - CloudWatch Protokolle verwenden, um Komponentenprotokolle anzuzeigen, sodass Sie debuggen und Fehler beheben können, ohne Zugriff auf das Dateisystem des Core-Geräts zu haben. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Schritt 2: Erstellen und Bereitstellen von AWS IoT Greengrass V2 Komponenten zur Migration von AWS IoT Greengrass V1 Anwendungen

Sie können die meisten AWS IoT Greengrass V1 Anwendungen auf ausführen AWS IoT Greengrass V2. Sie können Lambda-Funktionen als Komponenten importieren, die auf ausgeführt werden AWS IoT Greengrass V2, und Sie können AWSvon bereitgestellte Komponenten verwenden, die dieselbe Funktionalität wie AWS IoT Greengrass Konnektoren bieten.

Sie können auch benutzerdefinierte Komponenten entwickeln, um jede Funktion oder Laufzeit so zu erstellen, dass sie auf Greengrass-Core-Geräten ausgeführt wird. Informationen zum lokalen Entwickeln und Testen von Komponenten finden Sie unter Erstellen von AWS IoT Greengrass Komponenten.

Importieren von V1-Lambda-Funktionen

Sie können Lambda-Funktionen als AWS IoT Greengrass V2 Komponenten importieren. Wählen Sie aus den folgenden Ansätzen aus:

  • Importieren Sie V1-Lambda-Funktionen direkt als Greengrass-Komponenten.

  • Aktualisieren Sie Ihre Lambda-Funktionen, um die Greengrass-Bibliotheken in der AWS IoT Device SDK v2 zu verwenden, und importieren Sie dann die Lambda-Funktionen als Greengrass-Komponenten.

  • Erstellen Sie benutzerdefinierte Komponenten, die Nicht-Lambda-Code und AWS IoT Device SDK v2 verwenden, um dieselbe Funktionalität wie Ihre Lambda-Funktionen zu implementieren.

Wenn Ihre Lambda AWS-Funktion Funktionen wie Stream-Manager oder lokale Secrets verwendet, müssen Sie Abhängigkeiten von den von bereitgestellten Komponenten definieren, die diese Funktionen verpacken. Wenn Sie die Lambda-Funktionskomponente bereitstellen, enthält die Bereitstellung auch die Komponente für jedes Feature, das Sie als Abhängigkeit definieren. In der Bereitstellung können Sie Parameter konfigurieren, z. B. welche Secrets auf dem Core-Gerät bereitgestellt werden sollen. Nicht alle V1-Funktionen erfordern eine Komponentenabhängigkeit für Ihre Lambda-Funktion auf V2. In der folgenden Liste wird beschrieben, wie Sie V1-Funktionen in Ihrer V2-Lambda-Funktionskomponente verwenden.

  • Zugriff auf andere - AWS Services

    Wenn Ihre Lambda-Funktion AWS Anmeldeinformationen verwendet, um Anfragen an andere AWS -Services zu stellen, muss die Token-Austauschrolle des Core-Geräts dem Core-Gerät erlauben, die von der Lambda-Funktion verwendeten AWS Operationen auszuführen. Weitere Informationen finden Sie unter Autorisieren Sie Kerngeräte zur Interaktion mitAWSDienstleistungen.

  • Stream-Manager

    Wenn Ihre Lambda-Funktion den Stream-Manager verwendet, geben Sie aws.greengrass.StreamManager als Komponentenabhängigkeit an, wenn Sie die Funktion importieren. Wenn Sie die Stream-Manager-Komponente bereitstellen, geben Sie die Stream-Manager-Parameter an, die für die Ziel-Core-Geräte festgelegt werden sollen. Die Token-Austauschrolle des Core-Geräts muss dem Core-Gerät den Zugriff auf die AWS Cloud Ziele ermöglichen, die Sie mit dem Stream-Manager verwenden. Weitere Informationen finden Sie unter Stream-Manager.

  • Lokale Secrets

    Wenn Ihre Lambda-Funktion lokale Secrets verwendet, geben Sie aws.greengrass.SecretManager als Komponentenabhängigkeit an, wenn Sie die Funktion importieren. Wenn Sie die Secret-Manager-Komponente bereitstellen, geben Sie die Secret-Ressourcen an, die auf den Ziel-Core-Geräten bereitgestellt werden sollen. Die Token-Austauschrolle des Core-Geräts muss es dem Core-Gerät ermöglichen, die geheimen Ressourcen für die Bereitstellung abzurufen. Weitere Informationen finden Sie unter Secret Manager.

    Wenn Sie Ihre Lambda-Funktionskomponente bereitstellen, konfigurieren Sie sie so, dass sie über eine IPC-Autorisierungsrichtlinie verfügt, die die Berechtigung zur Verwendung der GetSecretValue IPC-Operation in der AWS IoT Device SDK V2 gewährt.

  • Lokale Schatten

    Wenn Ihre Lambda-Funktion mit lokalen Schatten interagiert, müssen Sie den Lambda-Funktionscode aktualisieren, um die AWS IoT Device SDK V2 zu verwenden. Sie müssen auch aws.greengrass.ShadowManager als Komponentenabhängigkeit angeben, wenn Sie die Funktion importieren. Weitere Informationen finden Sie unter Interagieren mit Geräteschatten.

    Wenn Sie Ihre Lambda-Funktionskomponente bereitstellen, konfigurieren Sie sie so, dass sie über eine IPC-Autorisierungsrichtlinie verfügt, die die Berechtigung zur Verwendung der Schatten-IPK-Operationen in der AWS IoT Device SDK V2 gewährt.

  • Abonnements

    • Wenn Ihre Lambda-Funktion Nachrichten aus einer Cloud-Quelle abonniert, geben Sie diese Abonnements als Ereignisquellen an, wenn Sie die Funktion importieren.

    • Wenn Ihre Lambda-Funktion Nachrichten von einer anderen Lambda-Funktion abonniert oder wenn Ihre Lambda-Funktion Nachrichten an AWS IoT Core oder andere Lambda-Funktionen veröffentlicht, konfigurieren und stellen Sie die Legacy-Abonnement-Routerkomponente bereit, wenn Sie Ihre Lambda-Funktion bereitstellen. Wenn Sie die Legacy-Abonnement-Routerkomponente bereitstellen, geben Sie die Abonnements an, die die Lambda-Funktion verwendet.

      Anmerkung

      Die Legacy-Abonnement-Routerkomponente ist nur erforderlich, wenn Ihre Lambda-Funktion die publish() Funktion im AWS IoT Greengrass Core-SDK verwendet. Wenn Sie Ihren Lambda-Funktionscode aktualisieren, um die Interprocess Communication (IPC)-Schnittstelle in der AWS IoT Device SDK V2 zu verwenden, müssen Sie die Legacy-Abonnement-Routerkomponente nicht bereitstellen. Weitere Informationen finden Sie unter den folgenden prozessübergreifenden Kommunikationsservices:

    • Wenn Ihre Lambda-Funktion Nachrichten von lokal verbundenen Geräten abonniert, geben Sie diese Abonnements als Ereignisquellen an, wenn Sie die Funktion importieren. Sie müssen auch die MQTT-Bridge-Komponente konfigurieren und bereitstellen, um Nachrichten von den verbundenen Geräten an die lokalen Themen zum Veröffentlichen/Abonnieren weiterzuleiten, die Sie als Ereignisquellen angeben.

    • Wenn Ihre Lambda-Funktion Nachrichten auf lokal verbundenen Geräten veröffentlicht, müssen Sie den Lambda-Funktionscode aktualisieren, um die AWS IoT Device SDK V2 zum Veröffentlichen von lokalen Veröffentlichungs-/Abonnementnachrichten zu verwenden. Sie müssen auch die MQTT-Bridge-Komponente konfigurieren und bereitstellen, um Nachrichten vom lokalen Message Broker zum Veröffentlichen/Abonnementieren an die verbundenen Geräte weiterzuleiten.

  • Lokale Volumes und Geräte

    Wenn Ihre containerisierte Lambda-Funktion auf lokale Volumes oder Geräte zugreift, geben Sie diese Volumes und Geräte an, wenn Sie die Lambda-Funktion importieren. Für diese Funktion ist keine Komponentenabhängigkeit erforderlich.

Weitere Informationen finden Sie unter Ausführen von -AWS LambdaFunktionen.

Verwenden von V1-Konnektoren

Sie können AWSvon bereitgestellte Komponenten bereitstellen, die die gleiche Funktionalität wie einige AWS IoT Greengrass Konnektoren bieten. Wenn Sie die Bereitstellung erstellen, können Sie die Parameter der Connectors konfigurieren.

Die folgenden AWS IoT Greengrass V2 Komponenten bieten Greengrass-V1-Konnektor-Funktionalität:

Ausführen von Docker-Containern

AWS IoT Greengrass V2 stellt keine Komponente bereit, um den V1-Docker-Anwendungsbereitstellungs-Connector direkt zu ersetzen. Sie können jedoch die Docker-Application-Manager-Komponente verwenden, um Docker-Images herunterzuladen und dann benutzerdefinierte Komponenten zu erstellen, die Docker-Container aus den heruntergeladenen Images ausführen. Weitere Informationen finden Sie unter Ausführen eines Docker-Containers und Docker-Anwendungsmanager.

Machine Learning-Inferenz ausführen

AWS IoT Greengrass V2 bietet eine Amazon SageMaker Edge Manager-Komponente, die den Amazon SageMaker Edge Manager-Agenten installiert und es Ihnen ermöglicht, SageMaker Neo-kompilierte Modelle als Modellkomponenten auf Greengrass-Core-Geräten zu verwenden. bietet AWS IoT Greengrass V2 auch Komponenten, die Deep Learning Runtime und TensorFlow Lite auf Ihrem Gerät installieren. Sie können die entsprechenden DLR- und TensorFlow Lite-Modell- und Inferenzkomponenten verwenden, um eine Beispielbildklassifizierung und Objekterkennungsinferenz durchzuführen. Um andere Machine Learning-Frameworks wie MXNet und zu verwenden TensorFlow, können Sie Ihre eigenen benutzerdefinierten Komponenten entwickeln, die diese Frameworks verwenden.

Verbinden von V1-Greengrass-Geräten

Verbundene Geräte in AWS IoT Greengrass V1 werden in als Client-Geräte bezeichnet AWS IoT Greengrass V2. AWS IoT Greengrass V2 Die Unterstützung für Client-Geräte ist abwärtskompatibel mit AWS IoT Greengrass V1, sodass Sie V1-Client-Geräte mit V2-Core-Geräten verbinden können, ohne ihren Anwendungscode zu ändern. Damit Client-Geräte eine Verbindung zu einem V2-Core-Gerät herstellen können, stellen Sie Greengrass-Komponenten bereit, die Client-Geräteunterstützung ermöglichen, und ordnen Sie die Client-Geräte dem Core-Gerät zu. Um Nachrichten zwischen Client-Geräten, dem AWS IoT Core Cloud-Service und Greengrass-Komponenten (einschließlich Lambda-Funktionen) weiterzuleiten, stellen Sie die MQTT-Bridge-Komponente bereit und konfigurieren Sie sie. Sie können die IP-Detektorkomponente bereitstellen, um Konnektivitätsinformationen automatisch zu erkennen, oder Sie können Endpunkte manuell verwalten. Weitere Informationen finden Sie unter Interagieren mit lokalen IoT-Geräten.

Aktivieren des lokalen Schattendienstes

In wird AWS IoT Greengrass V2der lokale Schattenservice durch die von AWSbereitgestellte Schattenmanagerkomponente implementiert. bietet AWS IoT Greengrass V2 auch Unterstützung für benannte Schatten. Damit Ihre Komponenten mit lokalen Schatten interagieren und Schattenstatus mit synchronisieren können AWS IoT Core, konfigurieren und stellen Sie die Shadow Manager-Komponente bereit und verwenden Sie die Shadow IPC-Operationen in Ihrem Komponentencode. Weitere Informationen finden Sie unter Interagieren mit Geräteschatten.

Integrieren mit AWS IoT SiteWise

Wenn Sie Ihr V1-Core-Gerät als - AWS IoT SiteWise Gateway verwenden, folgen Sie den Anweisungen, um Ihr neues V2-Core-Gerät als - AWS IoT SiteWise Gateway einzurichten. AWS IoT SiteWise bietet ein Installationsskript, das die AWS IoT SiteWise Komponenten für Sie bereitstellt.

Schritt 3: Testen Ihrer AWS IoT Greengrass V2 Anwendungen

Nachdem Sie V2-Komponenten erstellt und auf Ihrem neuen V2-Core-Gerät bereitgestellt haben, stellen Sie sicher, dass Ihre Anwendungen Ihren Erwartungen entsprechen. Sie können die Geräteprotokolle überprüfen, um die Standardausgabemeldungen (stdout) und den Standardfehler (stderr) Ihrer Komponenten anzuzeigen. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Wenn Sie die Greengrass-CLI auf dem Core-Gerät bereitgestellt haben, können Sie sie zum Debuggen von Komponenten und deren Konfigurationen verwenden. Weitere Informationen finden Sie unter Greengrass-CLI-Befehle.

Nachdem Sie sich vergewissert haben, dass Ihre Anwendungen auf einem V2-Core-Gerät funktionieren, können Sie die Greengrass-Komponenten Ihrer Anwendung auf anderen Core-Geräten bereitstellen. Wenn Sie benutzerdefinierte Komponenten entwickelt haben, die native Prozesse oder Docker-Container ausführen, müssen Sie diese Komponenten zuerst im Service veröffentlichen, um sie auf anderen -Core-Geräten bereitzustellen. AWS IoT Greengrass