Erstellen und Verpacken der Lambda-Funktion - AWS IoT Greengrass

AWS IoT Greengrass Version 1 trat am 30. Juni 2023 in die erweiterte Lebensphase ein. Weitere Informationen finden Sie in der AWS IoT Greengrass V1 Wartungsrichtlinie. Nach diesem Datum AWS IoT Greengrass V1 werden keine Updates mehr veröffentlicht, die Funktionen, Verbesserungen, Bugfixes oder Sicherheitspatches bieten. Geräte, die auf laufen, werden AWS IoT Greengrass V1 nicht gestört und funktionieren weiterhin und stellen eine Verbindung zur Cloud her. Wir empfehlen Ihnen dringend, zu migrieren AWS IoT Greengrass Version 2, da dies wichtige neue Funktionen und Unterstützung für zusätzliche Plattformen bietet.

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.

Erstellen und Verpacken der Lambda-Funktion

In diesem Schritt führen Sie folgende Aktionen aus:

  • Erstellen Sie ein Bereitstellungspaket, das den Funktionscode und die Abhängigkeiten enthält.

  • Erstellen Sie über die Lambda-Konsole eine Lambda-Funktion, und laden Sie das Bereitstellungspaket hoch.

  • Veröffentlichen Sie eine Version der Lambda-Funktion und erstellen Sie einen Alias, der auf die Version zeigt.

 

  1. Gehen Sie auf Ihrem Computer dieAWS IoT GreengrassCore SDK für Python, das Sie heruntergeladen und extrahiert habenErstellen und Verpacken einer Lambda-Funktionin Modul 3-1.

    Die Lambda-Funktion in diesem Modul verwendet Folgendes:

    • Die Datei greengrassHelloWorldCounter.py in examples\HelloWorldCounter. Das ist Ihr Lambda-Funktionscode.

    • Der Ordner greengrasssdk. Dies ist das SDK.

  2. Erstellen Sie ein Bereitstellungspaket der Lambda-Funktion

    1. Kopieren Sie den Ordner greengrasssdk in den Ordner HelloWorldCounter, der greengrassHelloWorldCounter.py enthält.

    2. Speichern Sie greengrassHelloWorldCounter.py und den Ordner greengrasssdk in einer zip-Datei mit der Bezeichnung hello_world_counter_python_lambda.zip. Die Datei py und der Ordner greengrasssdk müssen sich im Root des Verzeichnisses befinden.

      Screenshot mit dem komprimierten Inhalt der Datei „hello_word_counter_python_lambda.zip”.

      Auf UNIX-ähnlichen Systemen (einschließlich des Mac-Terminals), auf denen zip installiert ist, können Sie den folgenden Befehl verwenden, um die Datei und den Ordner zu verpacken:

      zip -r hello_world_counter_python_lambda.zip greengrasssdk greengrassHelloWorldCounter.py

    Nun können Sie Ihre Lambda-Funktion erstellen und das Bereitstellungspaket hochladen.

  3. Öffnen Sie die Lambda-Konsole und wählen SieFunktion erstellen.

  4. Wählen Sie Author from scratch aus.

  5. Geben Sie Ihrer Funktion den Namen Greengrass_HelloWorld_Counter und richten Sie die verbleibenden Felder wie folgt ein:

    • Wählen Sie für Runtime (Laufzeit) die Option Python 3.7 aus.

    • FürBerechtigungen, behalten Sie die Standardeinstellung bei. Dadurch wird eine Ausführungsrolle erstellt, die grundlegende Lambda-Berechtigungen gewährt. Diese Rolle wird nicht verwendet vonAWS IoT Greengrass. Sie können stattdessen auch die Rolle wiederverwenden, die Sie in Modul 3-1 erstellt haben.

    Wählen Sie Create function (Funktion erstellen).

    Setzen Sie im Abschnitt „Basic information“ das Feld „Function name“ mit dem Feld „Function name“HelloWorld_Counter“ und das Feld „Runtime“ auf „„“.
  6. Laden Sie das Bereitstellungspaket Ihrer Lambda-Funktion

    1. Auf derCodeunterQuellcode, wählenHochladen von. Wählen Sie in der Dropdown-ListeZIP-Datei.

      Die Dropdownliste Upload from mit hervorgehobener ZIP-Datei.
    2. Klicken Sie aufHochladenund dann wählen Sie Ihrehello_world_counter_python_lambda.zipBereitstellungspaket. Wählen Sie dann Save (Speichern) aus.

    3. Auf derCodefür die Funktion, unterLaufzeitumgebung, wählenBearbeiten, und geben Sie die folgenden Werte ein.

      • Wählen Sie für Runtime (Laufzeit) die Option Python 3.7 aus.

      • Geben Sie unter Handler greengrassHelloWorldCounter.function_handler ein.

    4. Wählen Sie Save (Speichern) aus.

      Anmerkung

      DieTest-Schaltfläche auf derAWS Lambda-Konsole funktioniert nicht mit dieser Funktion. DieAWS IoT GreengrassDas Core SDK enthält keine Module, die erforderlich sind, um Ihre Greengrass Lambda-Funktionen unabhängig imAWS Lambdaconsole. Diese Module (zum Beispielgreengrass_common) werden für die Funktionen bereitgestellt, nachdem sie in Ihrem Greengrass-Kern bereitgestellt wurden.

  7. Veröffentlichen Sie die erste Version der -Funktion.

    1. Aus demAktionen-Menü oben auf der Seite, wählen SieEine neue Version veröffentlichen. Geben Sie für Version description (Versionsbeschreibung) First version ein.

    2. Wählen Sie Publish.

  8. Erstellen Sie einen Alias für die Funktionsversion.

    1. Aus demAktionen-Menü oben auf der Seite, wählen SieErstellen eines Alias.

      Screenshot des Menüs „Actions” mit der Einstellung „Create alias”.
    2. Geben Sie unter Name GG_HW_Counter ein.

    3. Wählen Sie für Version die Option 1.

    4. Wählen Sie Save (Speichern) aus.

      Erstellen Sie einen Alias-Screenshot mit dem Feld „Name“ und dem Feld „Version“ eingestellt.

    Aliase erstellen eine einzelne Entity für Ihre Lambda-Funktion, die GreenGrass-Geräte abonnieren können. So müssen Sie Abonnements nicht jedes Mal mit neuen Lambda-Funktionsversionsnummern aktualisieren, wenn die Funktion geändert wird.