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.
Remote-Debugging von Lambda-Funktionen mit Visual Studio Code
Mit dem Remote-Debugging-Feature im AWS Toolkit for Visual Studio Code
Mit Remote-Debugging können Sie:
-
Haltepunkte in Ihrem Lambda-Funktionscode setzen.
-
Die Codeausführung in Echtzeit durchlaufen.
-
Variablen und Status während der Laufzeit überprüfen.
-
Lambda-Funktionen debuggen, die in AWS bereitgestellt wurden, 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 mithilfe der Berechtigung UpdateFunctionConfiguration, die bereits Zugriff auf Funktionsumgebungsvariablen und -konfigurationen ermöglicht, Ebenen an eine Funktion anhängen. 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, was nur mit der ausdrücklichen Berechtigung des Benutzers über
iot:OpenTunnelmöglich ist. -
Anhängen der Debugging-Ebene und Tokenverwaltung: Der Debugging-Prozess gewährleistet die Sicherheit durch folgende Kontrollen:
Die Debugging-Ebene muss an die Lambda-Funktion angehängt werden, wofür die folgenden Berechtigungen erforderlich sind:
lambda:UpdateFunctionConfigurationundlambda:GetLayerVersion.
Ein Sicherheitstoken (generiert über
iot:OpenTunnel) muss vor jeder Debugging-Sitzung in der Funktionsumgebungsvariablen aktualisiert werden, was ebenfallslambda:UpdateFunctionConfigurationerfordert.
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-Funktion, 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 mindestens 3.69.0.
-
AWS-Anmeldeinformationen, die in AWS Toolkit for Visual Studio Code konfiguriert sind. Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle.
Remote-Debugging von Lambda-Funktionen
Führen Sie die folgenden Schritte aus, um eine Remote-Debugging-Sitzung zu starten:
-
Öffnen Sie den AWS Explorer in VS Code, indem Sie das AWS-Symbol in der linken Seitenleiste auswählen.
-
Erweitern Sie den Abschnitt „Lambda“, um Ihre Funktionen anzuzeigen.
-
Klicken Sie mit der rechten Maustaste auf die 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-Funktionen haben ein kombiniertes Limit von 250 MB für Funktionscode und alle angehängten Ebenen. Die Remote-Debugging-Ebene erhöht die Größe Ihrer Funktion um ca. 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-bezogene Berechtigungen verweigern
-
Debug-Ebenen blockieren:
lambda:GetLayerVersionfür die folgenden ARNs verweigern:arn:aws:lambda:*:*:layer:LDKLayerX86:*
arn:aws:lambda:*:*:layer:LDKLayerArm64:*
Anmerkung
Durch Deaktivieren dieses Features wird verhindert, dass die Debugging-Ebene während der Aktualisierung der Funktionskonfiguration 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 Remote-Debuggen von Lambda-Funktionen im AWS Toolkit for Visual Studio Code-Benutzerhandbuch.