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.
Lambda-Funktionen mit Visual Studio Code remote debuggen
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:
-
Setzen Sie Breakpoints in Ihrem Lambda-Funktionscode.
-
Führen Sie die Codeausführung Schritt für Schritt in Echtzeit durch.
-
Untersuchen Sie Variablen und Status während der Laufzeit.
-
Debuggen Sie Lambda-Funktionen AWS, die bereitgestellt wurden, einschließlich solcher, die in VPCs oder mit bestimmten IAM-Berechtigungen bereitgestellt wurden.
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 UpdateFunctionConfiguration
Berechtigung Ebenen an eine Funktion anhängen, die bereits über die Möglichkeit verfügt, auf Funktionsumgebungsvariablen und -konfigurationen zuzugreifen. Das Remote-Debugging geht nicht über diese vorhandenen Berechtigungen hinaus. Stattdessen werden zusätzliche Sicherheitskontrollen durch sicheres Tunneling und automatische Sitzungsverwaltung hinzugefügt. Darüber hinaus ist das Remote-Debugging eine vollständig vom Kunden gesteuerte Funktion, für die ausdrückliche Berechtigungen und Aktionen erforderlich sind:
-
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
-
Verwaltung von Anhängen und Tokens auf Debug-Ebene: Der Debugging-Prozess gewährleistet die Sicherheit durch folgende Kontrollen:
Die Debugging-Schicht muss an die Lambda-Funktion angehängt werden, und für diesen Vorgang sind die folgenden Berechtigungen erforderlich:
lambda:UpdateFunctionConfiguration
und.lambda:GetLayerVersion
Ein Sicherheitstoken (generiert über
iot:OpenTunnel
) muss vor jeder Debug-Sitzung in der Funktionsumgebungsvariablen aktualisiert werden, was ebenfalls erforderlich ist.lambda:UpdateFunctionConfiguration
Aus Sicherheitsgründen wird dieses Token automatisch rotiert und die Debug-Ebene wird am Ende jeder Debug-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-Debuggen 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 Die Anmeldeinformationen sind in konfiguriert. AWS Toolkit for Visual Studio Code Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle.
Lambda-Funktionen aus der Ferne debuggen
Gehen Sie wie folgt vor, 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 zu sehen.
-
Klicken Sie mit der rechten Maustaste auf die Funktion, die Sie debuggen möchten.
-
Wählen Sie im Kontextmenü die Option Ferngesteuert aufrufen aus.
-
Aktivieren Sie im sich öffnenden Aufruffenster das Kontrollkästchen Debugging aktivieren.
-
Klicken Sie auf Invoke, um die Remote-Debugging-Sitzung zu starten.
Anmerkung
Lambda-Funktionen haben ein kombiniertes Limit von 250 MB für den Funktionscode und alle angehängten Ebenen. Die Remote-Debugging-Schicht erhöht die Größe Ihrer Funktion um etwa 40 MB.
Eine Remote-Debugging-Sitzung endet, wenn Sie:
-
Wählen Sie im Konfigurationsbildschirm für den Fernaufruf die Option Debug-Setup entfernen aus.
-
Wählen Sie in den VS Code-Debugging-Steuerelementen das Symbol zum Trennen der Verbindung aus.
-
Wählen Sie die Handler-Datei im VS Code-Editor aus.
Anmerkung
Die Debug-Ebene wird nach 60 Sekunden Inaktivität nach Ihrem letzten Aufruf automatisch entfernt.
Deaktivieren Sie das Remote-Debugging
Es gibt drei Möglichkeiten, diese Funktion zu deaktivieren:
-
Funktionsupdates verweigern: Auf
lambda:UpdateFunctionConfiguration
einstellendeny
. -
IoT-Berechtigungen einschränken: IoT-bezogene Berechtigungen verweigern
-
Debug-Ebenen blockieren: Aus folgenden
lambda:GetLayerVersion
Gründen ablehnen: ARNsarn:aws:lambda:*:*:layer:LDKLayerX86:*
arn:aws:lambda:*:*:layer:LDKLayerArm64:*
Anmerkung
Wenn Sie diese Funktion deaktivieren, wird verhindert, dass die Debugging-Ebene bei Aktualisierungen der Funktionskonfiguration hinzugefügt wird.
Zusätzliche Informationen
Weitere Informationen zur Verwendung von Lambda in VS Code finden Sie unter Lokales Entwickeln 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.