

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Eine Lambda-Funktion erstellen und verpacken
<a name="create-lambda"></a>

Die Python-Lambda-Beispielfunktion in diesem Modul verwendet das [AWS IoT Greengrass Core SDK](lambda-functions.md#lambda-sdks-core) für Python, um MQTT-Nachrichten zu veröffentlichen.

In diesem Schritt führen Sie folgende Aktionen aus:
+ Laden Sie das AWS IoT Greengrass Core SDK für Python auf Ihren Computer herunter (nicht auf das AWS IoT Greengrass Kerngerät).
+ Erstellen Sie ein Paket zur Bereitstellung von Lambda-Funktionen, das den Funktionscode und die Abhängigkeiten enthält.
+ Verwenden Sie die Lambda-Konsole, um eine Lambda-Funktion zu erstellen und das Bereitstellungspaket hochzuladen.
+ Veröffentlichen Sie eine Version der Lambda-Funktion und erstellen Sie einen Alias, der auf die Version verweist.

Um dieses Modul abschließen zu können, muss Python 3.7 auf Ihrem Core-Gerät installiert sein.

 <a name="create-lambda-procedure"></a>

1. <a name="download-ggc-sdk"></a> Laden Sie von der [AWS IoT Greengrass Core SDK-Downloadseite](what-is-gg.md#gg-core-sdk-download) das AWS IoT Greengrass Core SDK für Python auf Ihren Computer herunter.

1. Entpacken Sie das heruntergeladene Paket, um den Lambda-Funktionscode und das SDK zu erhalten.

   Die Lambda-Funktion in diesem Modul verwendet:
   + Die Datei `greengrassHelloWorld.py` in `examples\HelloWorld`. Dies ist Ihr Lambda-Funktionscode. Alle fünf Sekunden veröffentlicht die Funktion eine von zwei möglichen Nachrichten im Thema `hello/world`.
   + Der Ordner `greengrasssdk`. Dies ist das SDK.

1. Kopieren Sie den Ordner `greengrasssdk` in den Ordner `HelloWorld`, der `greengrassHelloWorld.py` enthält.

1. Um das Lambda-Funktions-Deployment-Paket zu erstellen, speichern Sie `greengrassHelloWorld.py` und den `greengrasssdk` Ordner in einer komprimierten `zip` Datei mit dem Namen`hello_world_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_python_lambda.zip"\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-017.png)

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

   ```
   zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
   ```
**Anmerkung**  
Je nach Ihrer Verteilung müssen Sie möglicherweise zuerst `zip` installieren (z. B. durch Ausführen von `sudo apt-get install zip`). Der Installationsbefehl kann für Ihre Verteilung abweichen.

   Jetzt sind Sie bereit, Ihre Lambda-Funktion zu erstellen und das Bereitstellungspaket hochzuladen.

1. Öffnen Sie die Lambda-Konsole und wählen Sie **Create function**.

1. Wählen Sie **Von Grund auf neu schreiben** aus.

1. Geben Sie Ihrer Funktion den Namen **Greengrass\$1HelloWorld** und richten Sie die verbleibenden Felder wie folgt ein:
   + Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.
   + Behalten Sie für **Berechtigungen** die Standardeinstellung bei. Dadurch wird eine Ausführungsrolle erstellt, die grundlegende Lambda-Berechtigungen gewährt. Diese Rolle wird nicht verwendet von AWS IoT Greengrass.

   Wählen Sie **Funktion erstellen** aus.

1. Laden Sie das Bereitstellungspaket Ihrer Lambda-Funktion hoch:

   1. <a name="lambda-console-upload"></a>Wählen Sie auf der Registerkarte **Code** unter **Codequelle** die Option **Hochladen von aus**. Wählen Sie in der Dropdownliste die **ZIP-Datei** aus.  
![\[Das Drop-down-Menü „Von hochladen“, wobei die ZIP-Datei hervorgehoben ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Wählen Sie **Hochladen** und dann Ihr `hello_world_python_lambda.zip` Bereitstellungspaket aus. Wählen Sie dann **Save (Speichern)** aus.

   1. <a name="lambda-console-runtime-settings-para"></a>Wählen Sie auf der Registerkarte **Code** für die Funktion unter **Laufzeiteinstellungen** die Option **Bearbeiten** aus, und geben Sie dann die folgenden Werte ein.
      + Wählen Sie für **Runtime (Laufzeit)** die Option **Python 3.7** aus.
      + Geben Sie unter **Handler** **greengrassHelloWorld.function\$1handler** ein.  
![\[Der Abschnitt „Runtime-Einstellungen“, bei dem das Feld „Runtime“ auf „Python 3.7" und das Feld „Handler“ auf "greengrassHelloWorld.function_handler“ gesetzt ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-023-2.png)

   1. <a name="lambda-console-save-config"></a>Wählen Sie **Save (Speichern)** aus.
**Anmerkung**  
Die **Test-Schaltfläche** auf der AWS Lambda Konsole funktioniert mit dieser Funktion nicht. Das AWS IoT Greengrass Core SDK enthält keine Module, die erforderlich sind, um Ihre Greengrass Lambda-Funktionen unabhängig in der AWS Lambda Konsole auszuführen. Diese Module (zum Beispiel`greengrass_common`) werden den Funktionen zur Verfügung gestellt, nachdem sie auf Ihrem Greengrass-Kern bereitgestellt wurden.

1. <a name="publish-function-version"></a>Veröffentlichen Sie die Lambda-Funktion:

   1. Wählen Sie im Menü **Aktionen** oben auf der Seite die Option **Neue Version veröffentlichen** aus.  
![\[Screenshot des Menüs „Actions” mit Hervorhebung von „Publish new version”.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-026.png)

   1. Geben Sie unter **Version description (Versionsbeschreibung)** den Wert **First version** ein und wählen Sie dann **Publish (Veröffentlichen)** aus.  
![\[Screenshot mit Einstellung des Felds „Version description“ auf „First version“ und Hervorhebung der Schaltfläche „Publish“.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-027.png)

1. <a name="create-version-alias"></a>Erstellen Sie einen [Alias](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) für die [Lambda-Funktionsversion](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html):
**Anmerkung**  
Greengrass-Gruppen können eine Lambda-Funktion nach Alias (empfohlen) oder nach Version referenzieren. Die Verwendung eines Alias erleichtert die Verwaltung von Codeaktualisierungen, da Sie Ihre Abonnementtabelle oder Gruppendefinition nicht ändern müssen, wenn der Funktionscode aktualisiert wird. Stattdessen verweisen Sie einfach mit dem Alias auf die neue Funktionsversion.

   1. Wählen Sie im Menü **Aktionen** oben auf der Seite die Option **Alias erstellen** aus.  
![\[Screenshot des Menüs „Actions” mit der Einstellung „Create alias”.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. Geben Sie dem Alias einen Namen**GG\$1HelloWorld**, legen Sie die Version fest **1** (was der Version entspricht, die Sie gerade veröffentlicht haben), und wählen Sie dann **Speichern** aus.
**Anmerkung**  
AWS IoT Greengrass unterstützt keine Lambda-Aliase für **\$1LATEST-Versionen**.

         
![\[Screenshot von Erstellen Sie einen neuen Alias, bei dem das Feld Name auf GG_ HelloWorld und das Feld Version auf 1 gesetzt ist.\]](http://docs.aws.amazon.com/de_de/greengrass/v1/developerguide/images/gg-get-started-029.png)