Arbeiten mit AWS Lambda-Funktionen mithilfe des AWS Toolkits - AWS Cloud9

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.

Arbeiten mit AWS Lambda-Funktionen mithilfe des AWS Toolkits

Das AWS Toolkit unterstützt Funktionen von AWS Lambda. Das AWS-Toolkit ersetzt die Funktionalität, die zuvor vom Lambda-Plug-in für AWS Cloud9 bereitgestellt wurde. Mit dem AWS Toolkit können Sie Code für Lambda-Funktionen erstellen, die Bestandteil von serverless Anwendungen sind. Darüber hinaus können Sie Lambda-Funktionen entweder lokal oder auf AWS aufrufen.

Lambda ist ein vollständig verwalteter Datenverarbeitungsservice, der Ihren Code beim Eintreten von Ereignissen ausführt, die von einem benutzerdefiniertem Code oder von verschiedenen AWS-Services erzeugt werden. Dazu gehören Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, Amazon Kinesis, Amazon Simple Notification Service (Amazon SNS) und Amazon Cognito.

Wichtig

Wenn Sie eine Lambda-Anwendung entwickeln wollen, die von Serverless Application Model (SAM) bereitgestellte Ressourcen nutzt, finden Sie weitere Informationen unter Arbeiten mit serverless AWS-Anwendungen mithilfe des AWS Toolkits.

Aufrufen von Lambda-Funktionen

Mithilfe des AWS Toolkits können Sie auf verschiedene Arten mit Funktionen von AWS Lambda interagieren.

Weitere Informationen zu Lambda finden Sie im AWS Lambda Entwicklerhandbuch.

Anmerkung

Angenommen, Sie haben Lambda-Funktionen bereits mit der AWS Management Console oder auf andere Weise erstellt. Sie können sie vom AWS Toolkit aus aufrufen. Um eine neue Funktion (mit AWS) zu erstellen, die Sie für AWS Lambda bereitstellen können, müssen Sie zunächst eine serverless Anwendung erstellen.

Voraussetzungen

  • Stellen Sie sicher, dass die Anmeldeinformationen, die Sie konfiguriert haben, den entsprechenden Lese-/Schreibzugriff auf den AWS Lambda-Service enthalten. Wenn im AWS Explorer unter Lambda als Meldung etwa „Fehler beim Laden von Lambda-Ressourcen“ angezeigt wird, überprüfen Sie die Berechtigungen, die diesen Anmeldeinformationen zugeordnet sind. Es dauert einige Minuten, bis sich Änderungen, die Sie an Berechtigungen vornehmen, auf den AWS Explorer im AWS Toolkit auswirken.

Aufrufen einer Lambda-Funktion

Wichtig

Aufrufen von API-Methoden mit dem AWS Toolkit kann zu Änderungen an Ressourcen führen, die nicht rückgängig gemacht werden können. Wenn Sie zum Beispiel eine POST-Methode verwenden, werden die Ressourcen der API aktualisiert, wenn der Aufruf erfolgreich ist.

Sie können eine Lambda-Funktion auf AWSVerwendung des AWS Toolkits aufrufen.

  1. Wählen Sie im AWS Explorerden Namen der Lambda-Funktion aus, die Sie aufrufen möchten, und öffnen Sie das Kontextmenü.

  2. Wählen Sie Invoke on AWS (In AWS aufrufen).

  3. In der Aufrufen der Funktion, das sich öffnet, wählen Sie eine Option für die Nutzlast aus, die Ihre Lambda Funktion benötigt. JSON zum Bereitstellen Ihrer Lambda-Funktion als Eingabe. Sie können Browse (Durchsuchen) auswählen, um eine Datei zu markieren, die als Nutzlast verwendet werden soll. Sie können auch das Dropdown-Feld verwenden, um eine Vorlage für die Nutzlast auszuwählen. In diesem Fall kann die Lambda-Funktion in Form einer Zeichenfolge erscheinen, die die Eingabe darstellt, wie im Textfeld gezeigt.

Klicken Sie auf Aufrufen, um den Lambda aufzurufen und die Nutzlast zu übergeben.

Sie sehen die Ausgabe der Lambda-Funktion auf der Registerkarte AWS Lambda.

Herunterladen, Hochladen und Löschen von Lambda Funktionen

Das AWS-Toolkit stellt die Optionen zum Importieren und Hochladen von Lambda-Funktionen in AWS Cloud9-IDE bereit.

Laden Sie eine Lambda -Funktion herunter.

Mit dem Herunterladen einer Lambda-Funktion laden Sie auch die Projektdateien, die die Funktion beschreiben, aus der AWS Cloud herunter und arbeiten mit ihnen in der IDE von AWS Cloud9.

Laden Sie eine Lambda-Funktion herunter

  1. Öffnen Sie im AWS Explorer unter dem Lambda-Knoten das Kontextmenü (rechte Maustaste) für die Funktion und wählen Sie Download (Herunterladen) aus.

  2. Wenn Sie zum Auswählen eines WorkSpace-Ordners für Ihr neues Projekt aufgefordert werden, können Sie einen der folgenden Schritte ausführen:

    • Wählen Sie den Ordner aus, der vorgeschlagen wird, um einen Unterordner mit dem gleichen Namen wie Ihr Lambda-Projekt zu erstellen.

    • Klicken Sie auf Einen anderen Ordner auswählen, um ein Dialogfeld zu öffnen, in dem Sie nach einem anderen übergeordneten Ordner für den Projekt-Unterordner suchen und auswählen können.

    In der IDE wird ein neues Editorfenster geöffnet.

Konfigurieren einer heruntergeladenen Lambda-Funktion zum Ausführen und Debuggen

Damit Sie Ihre heruntergeladene Lambda-Funktion als Serverless-Anwendung ausführen und debuggen können, muss in Ihrer Datei launch.json eine Startkonfiguration definiert sein. Eine Lambda-Funktion, die in der AWS Management Console erstellt wurde, ist möglicherweise nicht in einer Startkonfiguration enthalten. Sie müssen sie ggf. manuell hinzufügen.

So fügen Sie der Startkonfiguration Ihre Lambda-Funktion hinzu

  1. Nachdem Sie die Lambda-Funktion heruntergeladen haben, öffnen Sie das Fenster Environment (Umgebung), um die Ordner und Dateien anzuzeigen.

  2. Prüfen Sie als Nächstes, ob Ihre Lambda-Funktion in einer Datei /home/ec2-user/.c9/launch.json enthalten ist. Wenn sie nicht vorhanden ist, gehen Sie wie folgt vor, um eine hinzuzufügenCodeLensLink zum Code Ihrer Funktion:

    1. Öffnen Sie die Quellcodedatei, die die Lambda-Funktion definiert (z. B. eine .js- oder eine .py-Datei). Prüfen Sie dann, ob es eine gibtCodeLensLink, mit dem Sie Ihre Lambda-Funktion zu einem hinzufügen könnenlaunch.jsondatei. EINCodeLenserscheint über der Funktion und beinhaltetAdd Debug ConfigLink.

    2. Klicken Sie auf Go (Los) (das Lupensymbol) links neben der IDE und geben Sie „sam hint“ ein, um den Befehl AWS: Toggle SAM hints in source files anzuzeigen. Wählen Sie den Befehl aus, um ihn auszuführen.

    3. Schließen Sie Ihre Lambda-Quellcodedatei und öffnen Sie sie dann erneut.

    4. Wenn derCodeLensist im Quellcode verfügbar, nachdem Sie die Datei erneut geöffnet haben, wählen SieAdd Debug Configum die Startkonfiguration hinzuzufügen.

  3. Wenn Sie keine hinzufügen könnenCodeLensGehen Sie auch nach dem Umschalten der SAM-Hinweisoption wie folgt vor, um die Startkonfiguration hinzuzufügen:

    1. Klicken Sie auf Go (Los) (das Lupensymbol) links neben der IDE und geben Sie „config“ ein, um den Befehl AWS: SAM Debug Configuration Editor anzuzeigen. Wählen Sie den Befehl aus, um ihn auszuführen.

    2. Der SAM Debug Configuration Editor (SAM-Debug-Konfigurationseditor) wird angezeigt. Mit diesem Editor können Sie die Eigenschaften der Startkonfiguration definieren. Weitere Informationen finden Sie im Schritt configuring launch properties in Verwenden von SAM-Vorlagen zum Ausführen und Debuggen von serverless Anwendungen.

      Anmerkung

      Wenn Ihre Lambda-Funktion keine Datei template.yaml für SAM-Anwendungen aufweist, müssen Sie eine hinzufügen. Weitere Informationen finden Sie unter Erstellen Ihrer AWS-SAM-Vorlage.

    3. Nachdem Sie die erforderlichen Konfigurationsinformationen im Editor eingegeben haben, wird Ihre Startkonfiguration der Datei launch.json hinzugefügt.

Nachdem Sie eine Startkonfiguration für Ihre Lambda-Funktion definiert haben, können Sie sie folgendermaßen ausführen:

  1. Wählen Sie oben in der IDE den Pfeil neben Auto (Automatisch) und anschließend die entsprechende Startkonfiguration aus.

  2. Wählen Sie dann Run (Ausführen) aus.

Laden Sie Ihre Lambda-Funktion hoch.

Sie können vorhandene Lambda Funktionen mit lokalem Code aktualisieren. Beim Aktualisieren von Code auf diese Weise wird nicht die AWS Serverless Application Model CLI für die Bereitstellung verwendet und es werden keine AWS CloudFormation-Stacks erstellt. Sie können eine Lambda Funktion daher mit jeder Laufzeit hochladen, die von Lambda unterstützt wird.

Es gibt mehrere Option auf der Benutzeroberfläche zum Hochladen von Lambda-Funktionen mit dem AWS Toolkit.

  1. Öffnen Sie im Fenster Environment (Umgebung) für Ihre Projektdateien das Kontextmenü (rechte Maustaste) für die Datei template.yaml der Lambda-Anwendung, die Sie hochladen möchten, und wählen Sie Upload Lambda (Lambda hochladen) aus.

    Drücken Sie alternativStrg+Pum das zu öffnenGehe zu IrgendetwasFenster und geben Sie „Lambda“ ein, um auf das zuzugreifenAWSLaden Sie Lambda hochBefehl. Wählen Sie dann den Befehl aus, um den Hochladevorgang zu starten.

  2. Wählen Sie als Nächstes eine AWS-Region für den Hochladevorgang aus.

  3. Wählen Sie nun eine Option zum Hochladen Ihrer Lambda-Funktion aus:

    Ein ZIP-Archiv hochladen

    1. Wählen Sie ZIP-Archiv im Menü aus.

    2. Wählen Sie eine ZIP-Datei aus Ihrem AWS Cloud9-Dateisystem und wählen Sie Open (Öffnen) aus.

    Hochladen eines Verzeichnisses ohne Änderungen

    1. Wählen Sie Directory (Verzeichnis) im Menü aus.

    2. Wählen Sie ein Verzeichnis aus Ihrem AWS Cloud9-Dateisystem und wählen Sie Open (Öffnen) aus.

  4. Geben Sie den Lambda-Funktions-Handler an, der Ereignisse verarbeitet. Wenn Ihre Funktion aufgerufen wird, führt Lambda diese Handler-Methode aus.

    Anmerkung

    Die Lambda-Funktion können Sie aus der Liste auswählen, die angezeigt wird. Wenn Sie nicht wissen, welche Funktion Sie auswählen sollen, können Sie die Amazon-Ressourcennummer (ARN) einer Lambda-Funktion eingeben, die im Toolkit verfügbar ist.

    Es wird ein Dialogfeld mit der Frage angezeigt, ob dieser Code als neueste Version der Lambda-Funktion veröffentlicht werden soll. Wählen Sie Yes (Ja) aus, um die Veröffentlichung zu bestätigen.

    Anmerkung

    Sie können Lambda-Anwendungen auch hochladen, indem Sie das Kontextmenü (rechte Maustaste) für den übergeordneten Ordner des Ordners öffnen und Upload Lambda (Lambda hochladen) auswählen. Der übergeordnete Ordner wird automatisch für den Upload ausgewählt.

  1. Öffnen Sie im AWS Explorer das Kontextmenü (rechte Maustaste) für den Namen der Lambda-Funktion, die Sie importieren möchten.

  2. Wählen Sie Upload Lambda (Lambda hochladen) aus.

  3. Wählen Sie aus den drei Optionen zum Hochladen Ihrer Lambda Funktion.

    Hochladen eines vorgefertigten ZIP-Archivs

    1. Wählen Sie ZIP-Archiv im Menü aus.

    2. Wählen Sie eine ZIP-Datei aus Ihrem AWS Cloud9-Dateisystem und wählen Sie Open (Öffnen) aus.

    3. Bestätigen Sie den Upload mit dem modalen Dialog. Dadurch wird die ZIP-Datei hochgeladen und das Lambda nach der Bereitstellung sofort aktualisiert.

    Hochladen eines Verzeichnisses ohne Änderungen

    1. Wählen Sie Directory (Verzeichnis) im Menü aus.

    2. Wählen Sie ein Verzeichnis aus Ihrem AWS Cloud9-Dateisystem und wählen Sie Open (Öffnen) aus.

    3. Klicken Sie auf Nein, wenn Sie aufgefordert werden, das Verzeichnis zu erstellen.

    4. Bestätigen Sie den Upload mit dem modalen Dialog. Dadurch wird das Verzeichnis wie es ist hochgeladen und das Lambda nach der Bereitstellung sofort aktualisiert.

    Erstellen und Hochladen eines Verzeichnisses

    1. Whlen Sie Directory (Verzeichnis) im Menü aus.

    2. Wählen Sie ein Verzeichnis aus Ihrem AWS Cloud9-Dateisystem und wählen Sie Open (Öffnen) aus.

    3. Klicken Sie auf Ja, wenn Sie aufgefordert werden, das Verzeichnis zu erstellen.

    4. Bestätigen Sie den Upload mit dem modalen Dialog. Dies erstellt den Code im Verzeichnis mit dem AWS SAM CLI sam build und aktualisiert sofort das Lambda nach der Bereitstellung.

Bereitstellen einer Lambda-Funktion für den Remotezugriff

Sie können Ihre lokalen Funktionen remote verfügbar machen, indem Sie sie als Serverless-SAM-Anwendungen bereitstellen.

So stellen Sie eine Lambda-Funktion als SAM-Anwendung bereit

  1. Öffnen Sie im AWS Explorer das Kontextmenü (rechte Maustaste) für den Lambda-Knoten und wählen Sie Deploy SAM Application (SAM-Anwendung bereitstellen) aus.

  2. Wählen Sie im Befehlsbereich die YAML-Vorlage aus, die Ihre Funktion als Serverless-Anwendung definiert.

  3. Wählen Sie als Nächstes einen Amazon-S3-Bucket für die Lambda-Bereitstellung aus. Sie können auch einen Bucket für die Bereitstellung erstellen.

  4. Geben Sie jetzt den Namen eines AWS CloudFormation-Stacks für die Bereitstellung ein. Wenn Sie einen vorhandenen Stack angeben, wird der Stack durch den Befehl aktualisiert. Wenn Sie einen neuen Stack angeben, wird er durch den Befehl erstellt.

    Nachdem Sie den Namen des Stacks eingegeben haben, wird Ihre Lambda-Funktion als SAM-Anwendung bereitgestellt. Nach einer erfolgreichen Bereitstellung ist die SAM-Lambda-Anwendung remote verfügbar. Auf diese Weise können Sie sie aus anderen AWS Cloud9-Entwicklungsumgebungen herunterladen oder aufrufen.

Wenn Sie eine Lambda-Funktion von Grund auf neu erstellen möchten, sollten Sie die Schritte zum Erstellen einer serverless Anwendung mit dem AWS Toolkit befolgen.

Löschen einer Lambda-Funktion

Sie können eine Lambda-Funktion auch über dasselbe Kontextmenü (rechte Maustaste) löschen.

Warnung

Verwenden Sie dieses Verfahren nicht, um Lambda-Funktionen zu löschen, die mit AWS CloudFormation verknüpft sind. Löschen Sie mit diesem Verfahren beispielsweise nicht die Funktion, die beim Erstellen einer Serverless-Anwendung weiter oben in diesem Handbuch erstellt wurde). Diese Funktionen müssen über den AWS CloudFormation-Stack gelöscht werden.

  1. Wählen Sie im AWS Explorer den Namen der Lambda-Funktion aus, die Sie löschen möchten, und öffnen Sie das Kontextmenü (rechte Maustaste).

  2. Wählen Sie Löschen.

  3. Wählen Sie in der angezeigten Meldung Yes (Ja) aus, um das Löschen zu bestätigen.

Nachdem die Funktion gelöscht wurde, wird sie nicht mehr im AWS Explorer aufgeführt.