Richten Sie ein neues V2-Core-Gerät ein, um V1-Anwendungen zu testen - 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.

Richten Sie ein neues V2-Core-Gerät ein, um V1-Anwendungen zu testen

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

Schritt 1: AWS IoT Greengrass V2 Auf einem neuen Gerät installieren

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 Komponenten entwickelt und bereitgestellt werden. In diesem Tutorial wird die automatische Bereitstellung verwendet, um ein Gerät schnell einzurichten. Wenn Sie die AWS IoT Greengrass Core-Software v2.x installieren, geben Sie das --deploy-dev-tools Argument für die Bereitstellung von Greengrass anCLI, sodass 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 mithilfe eines Hardware-Sicherheitsmoduls ()HSM, finden Sie unter. Installieren Sie die AWS IoT Greengrass Core-Software.

(Optional) Protokollierung bei Amazon CloudWatch Logs aktivieren

Um einem V2-Core-Gerät das Hochladen von Protokollen auf Amazon CloudWatch Logs zu ermöglichen, können Sie die von uns AWS bereitgestellte Log-Manager-Komponente bereitstellen. Sie können CloudWatch Logs verwenden, um Komponentenprotokolle anzuzeigen, sodass Sie ohne Zugriff auf das Dateisystem des Kerngeräts debuggen und Fehler beheben können. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Schritt 2: AWS IoT Greengrass V2 Komponenten für die Migration AWS IoT Greengrass V1 von Anwendungen erstellen und bereitstellen

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 AWS IoT Greengrass V2, auf denen sie ausgeführt werden, und Sie können AWS bereitgestellte Komponenten verwenden, die dieselbe Funktionalität wie AWS IoT Greengrass Konnektoren bieten.

Sie können auch benutzerdefinierte Komponenten entwickeln, um jede Funktion oder Runtime für die Ausführung auf Greengrass-Core-Geräten zu erstellen. Informationen zum lokalen Entwickeln und Testen von Komponenten finden Sie unterAWS IoT Greengrass Komponenten erstellen.

V1-Lambda-Funktionen importieren

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

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

  • Aktualisieren Sie Ihre Lambda-Funktionen, um die Greengrass-Bibliotheken in Version 2 zu verwenden, AWS IoT Device SDK 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-Funktion Funktionen wie Stream-Manager oder lokale Geheimnisse verwendet, müssen Sie Abhängigkeiten von den von AWS-bereitgestellten Komponenten definieren, die diese Funktionen verpacken. Wenn Sie die Lambda-Funktionskomponente bereitstellen, umfasst 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 Geheimnisse auf dem Kerngerä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.

  • Greifen Sie auf andere Dienste zu AWS

    Wenn Ihre Lambda-Funktion AWS Anmeldeinformationen verwendet, um Anfragen an andere AWS Dienste zu stellen, muss die Token-Austauschrolle des Kerngeräts es dem Kerngerät ermöglichen, die von der Lambda-Funktion verwendeten AWS Operationen auszuführen. Weitere Informationen finden Sie unter Autorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS.

  • Stream-Manager

    Wenn Ihre Lambda-Funktion den Stream-Manager verwendet, geben Sie dies beim Import der Funktion aws.greengrass.StreamManager als Komponentenabhängigkeit an. 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 Kerngeräts muss es dem Kerngerät ermöglichen, auf die AWS Cloud Ziele zuzugreifen, die Sie mit Stream Manager verwenden. Weitere Informationen finden Sie unter Stream-Manager.

  • Lokale Geheimnisse

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

    Wenn Sie Ihre Lambda-Funktionskomponente bereitstellen, konfigurieren Sie sie so, dass sie über eine IPCAutorisierungsrichtlinie verfügt, die die Erlaubnis erteilt, den GetSecretValue IPCVorgang in der AWS IoT Device SDK V2 zu verwenden.

  • Lokale Schatten

    Wenn Ihre Lambda-Funktion mit lokalen Schatten interagiert, müssen Sie den Lambda-Funktionscode aktualisieren, um V2 verwenden zu können. AWS IoT Device SDK Sie müssen die Funktion 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 IPCAutorisierungsrichtlinie verfügt, die die Erlaubnis erteilt, die IPCShadow-Operationen in der AWS IoT Device SDK V2 zu verwenden.

  • 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 implementieren Sie die ältere Abonnement-Router-Komponente, wenn Sie Ihre Lambda-Funktion bereitstellen. Wenn Sie die ältere Abonnement-Router-Komponente bereitstellen, geben Sie die Abonnements an, die die Lambda-Funktion verwendet.

      Anmerkung

      Die ältere Abonnement-Router-Komponente ist nur erforderlich, wenn Ihre Lambda-Funktion die publish() Funktion im AWS IoT Greengrass Core SDK verwendet. Wenn Sie Ihren Lambda-Funktionscode so aktualisieren, dass er die Interprocess Communication (IPC) -Schnittstelle in der AWS IoT Device SDK V2 verwendet, müssen Sie die ältere Abonnement-Router-Komponente nicht bereitstellen. Weitere Informationen finden Sie in den folgenden Interprozesskommunikationsdiensten:

    • Wenn Ihre Lambda-Funktion Nachrichten von lokal verbundenen Geräten abonniert, geben Sie diese Abonnements als Ereignisquellen an, wenn Sie die Funktion importieren. Außerdem müssen Sie die MQTTBridge-Komponente so konfigurieren und bereitstellen, dass sie Nachrichten von den verbundenen Geräten an die lokalen Veröffentlichungs-/Abonnement-Themen weiterleitet, die Sie als Ereignisquellen angeben.

    • Wenn Ihre Lambda-Funktion Nachrichten an lokal verbundene Geräte veröffentlicht, müssen Sie den Lambda-Funktionscode aktualisieren, um AWS IoT Device SDK V2 zum Veröffentlichen lokaler Veröffentlichungs-/Abonnementnachrichten zu verwenden. Außerdem müssen Sie die MQTTBridge-Komponente so konfigurieren und bereitstellen, dass sie Nachrichten vom lokalen Publish/Subscribe-Message Broker an die angeschlossenen Geräte weiterleitet.

  • 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 Sie V1-Anschlüsse

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

Die folgenden AWS IoT Greengrass V2 Komponenten bieten die Funktionalität des Greengrass V1-Connectors:

Führen Sie Docker-Container aus

AWS IoT Greengrass V2 stellt keine Komponente bereit, die den V1-Connector für die Bereitstellung von Docker-Anwendungen direkt ersetzt. Sie können jedoch die Docker-Anwendungsmanager-Komponente verwenden, um Docker-Images herunterzuladen, und anschließend benutzerdefinierte Komponenten erstellen, die Docker-Container aus den heruntergeladenen Images ausführen. Weitere Informationen erhalten Sie unter Führen Sie einen Docker-Container aus und Docker-Anwendungsmanager.

Führen Sie die Inferenz für maschinelles Lernen aus

AWS IoT Greengrass V2 bietet eine Amazon SageMaker AI Edge Manager-Komponente, die den Amazon SageMaker AI Edge Manager-Agenten installiert und es Ihnen ermöglicht, mit SageMaker KI Neo kompilierte Modelle als Modellkomponenten auf Greengrass-Kerngeräten zu verwenden. AWS IoT Greengrass V2 bietet 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 die Klassifizierung von Beispielbildern und die Inferenz zur Objekterkennung durchzuführen. Um andere Frameworks für maschinelles Lernen wie MXNet und zu verwenden TensorFlow, können Sie Ihre eigenen benutzerdefinierten Komponenten entwickeln, die diese Frameworks verwenden.

Connect V1 Greengrass-Geräte

Verbundene Geräte in AWS IoT Greengrass V1 werden als Client-Geräte in AWS IoT Greengrass V2 bezeichnet. 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 deren Anwendungscode zu ändern. Damit Client-Geräte eine Verbindung zu einem V2-Core-Gerät herstellen können, stellen Sie Greengrass-Komponenten bereit, die die Unterstützung von Client-Geräten 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-Dienst und Greengrass-Komponenten (einschließlich Lambda-Funktionen) weiterzuleiten, müssen Sie die MQTTBridge-Komponente bereitstellen und konfigurieren. Sie können die IP-Detektorkomponente einsetzen, um Verbindungsinformationen automatisch zu erkennen, oder Sie können Endpunkte manuell verwalten. Weitere Informationen finden Sie unter Interagieren Sie mit lokalen IoT-Geräten.

Aktivieren Sie den lokalen Shadow-Dienst

In AWS IoT Greengrass V2 wird der lokale Shadow-Dienst durch die von AWS-bereitgestellte Shadow-Manager-Komponente implementiert. AWS IoT Greengrass V2 beinhaltet auch Unterstützung für benannte Schatten. Um es Ihren Komponenten zu ermöglichen, mit lokalen Schatten zu interagieren und Schattenstatus mit ihnen zu synchronisieren AWS IoT Core, konfigurieren und implementieren Sie die Shadow-Manager-Komponente und verwenden Sie die IPC Shadow-Operationen in Ihrem Komponentencode. Weitere Informationen finden Sie unter Interagieren mit Geräteschatten.

Integrieren Sie 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 stellt ein Installationsskript bereit, das die AWS IoT SiteWise Komponenten für Sie bereitstellt.

Schritt 3: Testen Sie Ihre Anwendungen AWS IoT Greengrass V2

Nachdem Sie V2-Komponenten erstellt und auf Ihrem neuen V2-Kerngerät bereitgestellt haben, stellen Sie sicher, dass Ihre Anwendungen Ihren Erwartungen entsprechen. Sie können die Protokolle des Geräts überprüfen, um die Standardausgabe- (stdout) und Standardfehlermeldungen (stderr) Ihrer Komponenten einzusehen. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

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

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