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 der Remote-Debugging-Funktion in der können Sie Ihre Lambda-Funktionen debuggen 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.
-
Debuggen Sie Lambda-Funktionen AWS, die für 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, der nur mit ausdrücklicher Genehmigung des Benutzers ausgeführt wird.
iot:OpenTunnel -
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.
Aktualisieren Sie das Sicherheitstoken (generiert durch
iot:OpenTunnel) in der Funktionsumgebungsvariablen vor jeder Debug-Sitzung. Dieser Schritt erfordert auchlambda:UpdateFunctionConfiguration.
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 3.69.0 oder höher.
-
AWS Anmeldeinformationen, die in konfiguriert wurden. AWS Toolkit for Visual Studio Code 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.
-
Öffnen Sie das Kontextmenü für 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-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 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.
Eine ausführliche Anleitung zur Problembehandlung, zu erweiterten Anwendungsfällen und zur regionalen Verfügbarkeit finden Sie im AWS Toolkit for Visual Studio Code Benutzerhandbuch unter Remote-Debugging von Lambda-Funktionen.