Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esecuzione da remoto del debug delle funzioni Lambda con Visual Studio Code
Con la funzionalità di debug remoto in AWS Toolkit for Visual Studio Code
Con il debug da remoto, puoi:
-
Impostare punti di interruzione nel codice della funzione Lambda.
-
Eseguire il codice in tempo reale.
-
Ispezionare le variabili e lo stato durante il runtime.
-
Esegui il debug delle funzioni Lambda distribuite AWS, incluse quelle in VPC o con autorizzazioni IAM specifiche.
Runtime supportati
Il debug da remoto è supportato per i seguenti runtime:
-
Python (AL2023)
-
Java
-
JavaScript/Node.js (AL 2023)
Nota
Il debug da remoto è supportato per le architetture sia x86_64 sia arm64.
Sicurezza e debug da remoto
Il debug da remoto opera entro i limiti di sicurezza Lambda esistenti. Gli utenti possono collegare livelli a una funzione utilizzando l'autorizzazione UpdateFunctionConfiguration, che ha già la possibilità di accedere alle variabili di ambiente e alla configurazione della funzione. Il debug da remoto non va oltre queste autorizzazioni esistenti. Aggiunge invece ulteriori controlli di sicurezza attraverso il tunneling sicuro e la gestione automatica delle sessioni. Inoltre, il debug da remoto è interamente una funzionalità controllata dal cliente che richiede autorizzazioni e azioni esplicite:
-
Creazione di un tunnel sicuro per l'IoT: il AWS Toolkit deve creare un tunnel sicuro per l'IoT, che si verifica solo con l'autorizzazione esplicita dell'utente.
iot:OpenTunnel -
Gestione di allegati e token del livello di debug: il processo di debug mantiene la sicurezza attraverso questi controlli:
Il livello di debug deve essere collegato alla funzione Lambda e questo processo richiede le seguenti autorizzazioni:
lambda:UpdateFunctionConfigurationelambda:GetLayerVersion.
Aggiorna il token di sicurezza (generato tramite
iot:OpenTunnel) nella variabile di ambiente della funzione prima di ogni sessione di debug. Questo passaggio richiedelambda:UpdateFunctionConfigurationanche.
Per motivi di sicurezza, questo token viene ruotato automaticamente e il livello di debug viene rimosso automaticamente alla fine di ogni sessione di debug e non può essere riutilizzato.
Nota
Il debug da remoto è supportato per le architetture sia x86_64 sia arm64.
Prerequisiti
Prima di iniziare il debug da remoto, assicurati di disporre di quanto riportato di seguito:
-
Una funzione Lambda implementata nel tuo AWS account.
-
AWS Toolkit for Visual Studio Code. Consulta Configurazione del AWS Toolkit for Visual Studio Code per le istruzioni di installazione.
-
La versione del AWS Toolkit che hai installato è 3.69.0 o successiva.
-
AWS credenziali configurate in. AWS Toolkit for Visual Studio Code Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi.
Debug da remoto delle funzioni Lambda
Esegui questi passaggi per avviare una sessione di debug da remoto:
-
Apri AWS Explorer in VS Code selezionando l' AWS icona nella barra laterale sinistra.
-
Espandi la sezione Lambda per vedere le tue funzioni.
-
Apri il menu contestuale della funzione di cui desideri eseguire il debug.
-
Dal menu contestuale, seleziona Richiama da remoto.
-
Nella finestra di invocazione che si apre, seleziona la casella Abilita debug.
-
Fai clic su Richiama per avviare la sessione di debug remota.
Nota
Le funzioni Lambda hanno un limite combinato di 250 MB per il codice della funzione e tutti i livelli collegati. Il livello di debug da remoto aggiunge circa 40 MB alle dimensioni della funzione.
Una sessione di debug da remoto termina quando:
-
Scegliere Rimuovi configurazione debug dalla schermata di configurazione Richiama da remoto.
-
Selezionare l'icona di disconnessione nei controlli di debug di VS Code.
-
Selezionare il file del gestore nell'editor VS Code.
Nota
Il livello di debug viene rimosso automaticamente dopo 60 secondi di inattività dopo l'ultima invocazione.
Disabilitazione de debug da remoto
Puoi disabilitare questa funzionalità in tre modi:
-
Nega aggiornamenti delle funzioni: imposta
lambda:UpdateFunctionConfigurationsudeny. -
Limita le autorizzazioni IoT: nega le autorizzazioni IoT-related
-
Blocca livelli di debug: nega
lambda:GetLayerVersionper i seguenti ARN:arn:aws:lambda:*:*:layer:LDKLayerX86:*
arn:aws:lambda:*:*:layer:LDKLayerArm64:*
Nota
La disabilitazione di questa funzionalità impedisce l'aggiunta del livello di debug durante gli aggiornamenti della configurazione delle funzioni.
Informazioni aggiuntive
Per ulteriori informazioni sull'utilizzo di Lambda in VS Code, consulta Sviluppo locale di funzioni Lambda con VS Code.
Per istruzioni dettagliate sulla risoluzione dei problemi, sui casi d'uso avanzati e sulla disponibilità geografica, consulta le funzioni Lambda per il debug remoto nella Guida per l'utente. AWS Toolkit for Visual Studio Code