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.
Ferndebuggen von Lambda-Ereignisfunktionen mit Visual Studio Code
Mit der Remote-Debugging-Funktion in der können Sie Ihre Lambda-Ereignisfunktionen debuggen AWS Toolkit for Visual Studio Code
Mit Remote-Debugging können Sie:
-
Legen Sie Breakpoints in Ihrem Lambda Event Function Code fest.
-
Die Codeausführung in Echtzeit durchlaufen.
-
Variablen und Status während der Laufzeit überprüfen.
-
Debuggen Sie Lambda-Ereignisfunktionen AWS, die bereitgestellt werden, einschließlich solcher in VPCs oder mit bestimmten IAM-Berechtigungen.
Unterstützte Laufzeiten
Remote-Debugging wird für die folgenden Laufzeiten unterstützt:
-
Python (AL2023)
-
Java
-
JavaScript/Node.js (AL2023)
Anmerkung
Remote-Debugging wird sowohl für x86_64- als auch für arm64-Architekturen unterstützt.
Sicherheit und Remote-Debugging
Das Remote-Debugging erfolgt innerhalb der bestehenden Lambda-Sicherheitsgrenzen. Benutzer können Ebenen an eine Ereignisfunktion anhängen, indem sie die UpdateFunctionConfiguration Berechtigung verwenden, die bereits Zugriff auf Umgebungsvariablen und die Konfiguration von Event Function hat. Das Remote-Debugging geht nicht über diese bestehenden Berechtigungen hinaus. Stattdessen werden zusätzliche Sicherheitskontrollen durch sicheres Tunneling und automatische Sitzungsverwaltung hinzugefügt. Darüber hinaus ist das Remote-Debugging ein vollständig vom Kunden kontrolliertes Feature, das explizite Berechtigungen und Aktionen erfordert:
-
Erstellung eines sicheren IoT-Tunnels: Das AWS Toolkit muss einen sicheren IoT-Tunnel erstellen. Dies erfolgt nur mit ausdrücklicher Genehmigung des Benutzers.
iot:OpenTunnel -
Anhängen der Debugging-Ebene und Tokenverwaltung: Der Debugging-Prozess gewährleistet die Sicherheit durch folgende Kontrollen:
Die Debugging-Schicht muss an die Lambda-Ereignisfunktion angehängt werden, und für diesen Vorgang sind die folgenden Berechtigungen erforderlich:
lambda:UpdateFunctionConfigurationund.lambda:GetLayerVersion
Aktualisieren Sie das Sicherheitstoken (generiert durch
iot:OpenTunnel) in der Umgebungsvariablen Event Function vor jeder Debug-Sitzung. Dieser Schritt erfordertlambda:UpdateFunctionConfigurationauch.
Aus Sicherheitsgründen wird dieses Token automatisch rotiert und die Debug-Ebene wird am Ende jeder Debugging-Sitzung automatisch entfernt und kann nicht wiederverwendet werden.
Anmerkung
Remote-Debugging wird sowohl für x86_64- als auch für arm64-Architekturen unterstützt.
Voraussetzungen
Bevor Sie mit dem Remote-Debugging beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Eine Lambda-Ereignisfunktion, die für Ihr AWS Konto bereitgestellt wurde.
-
AWS Toolkit for Visual Studio Code. Installationsanweisungen finden Sie unter Einrichten des AWS Toolkit for Visual Studio Code.
-
Die Version des AWS Toolkits, die Sie installiert haben, ist 3.69.0 oder höher.
-
AWS Die Anmeldeinformationen sind in konfiguriert. AWS Toolkit for Visual Studio Code Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle.
Lambda-Ereignisfunktionen aus der Ferne debuggen
Führen Sie die folgenden Schritte aus, um eine Remote-Debugging-Sitzung zu starten:
-
Öffnen Sie den AWS Explorer in VS Code, indem Sie AWS das Symbol in der linken Seitenleiste auswählen.
-
Erweitern Sie den Abschnitt Lambda, um Ihre Event-Funktionen zu sehen.
-
Öffnen Sie das Kontextmenü für die Event-Funktion, die Sie debuggen möchten.
-
Wählen Sie im Kontextmenü die Option Remote aufrufen aus.
-
Aktivieren Sie im sich öffnenden Aufruffenster das Kontrollkästchen Debugging aktivieren.
-
Klicken Sie auf Aufrufen, um die Remote-Debugging-Sitzung zu starten.
Anmerkung
Lambda-Ereignisfunktionen haben ein kombiniertes Limit von 250 MB für den Ereignisfunktionscode und alle angehängten Ebenen. Die Remote-Debugging-Schicht erhöht die Größe Ihrer Event-Funktion um etwa 40 MB.
Eine Remote-Debugging-Sitzung endet, wenn Sie:
-
auf dem Bildschirm mit der Remoteaufruf-Konfiguration“ die Option Debug-Setup entfernen auswählen
-
in den Debugging-Steuerelementen von VS Code das Symbol „Trennen“ auswählen
-
die Handler-Datei im VS-Code-Editor auswählen.
Anmerkung
Die Debugging-Ebene wird automatisch entfernt, wenn nach Ihrem letzten Aufruf 60 Sekunden lang keine Aktivität stattfindet.
Deaktivieren von Remote-Debugging
Es gibt drei Möglichkeiten, dieses Feature zu deaktivieren:
-
Funktionsupdates verweigern:
lambda:UpdateFunctionConfigurationaufdenysetzen -
IoT-Berechtigungen einschränken: IoT-related Berechtigungen verweigern
-
Debug-Ebenen blockieren:
lambda:GetLayerVersionfür die folgenden ARNs verweigern:arn:aws:lambda:*:*:layer:LDKLayerX86:*
arn:aws:lambda:*:*:layer:LDKLayerArm64:*
Anmerkung
Durch die Deaktivierung dieser Funktion wird verhindert, dass die Debugging-Ebene bei Aktualisierungen der Konfiguration der Event-Funktion hinzugefügt wird.
Zusätzliche Informationen
Weitere Informationen zur Verwendung von Lambda in VS Code finden Sie unter Lokale Entwicklung von Lambda-Funktionen mit VS Code.
Ausführliche Anweisungen zur Fehlerbehebung, zu erweiterten Anwendungsfällen und zur regionalen Verfügbarkeit finden Sie unter Lambda-Funktionen per Fernzugriff im AWS Toolkit for Visual Studio Code Benutzerhandbuch.