Funzioni di debug locali con AWS SAM - AWS Serverless Application Model

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à.

Funzioni di debug locali con AWS SAM

È possibile utilizzare AWS SAM una varietà di AWS toolkit e debugger per testare ed eseguire il debug delle applicazioni serverless a livello locale. Il debug graduale delle funzioni Lambda consente di identificare e risolvere i problemi dell'applicazione una riga o un'istruzione alla volta nell'ambiente locale.

Alcuni dei modi in cui è possibile eseguire il debug locale graduale includono l'impostazione dei punti di interruzione, l'ispezione delle variabili e l'esecuzione del codice di funzione una riga alla volta. Il debug locale step-through restringe il ciclo di feedback, consentendoti di individuare e risolvere i problemi che potresti riscontrare nel cloud.

Puoi usare AWS Toolkit per eseguire il debug ed eseguirlo anche in modalità debug. AWS SAM Per ulteriori informazioni, consulta gli argomenti di questa sezione.

Utilizzo dei AWS Toolkit

AWS I toolkit sono plugin IDE (Integrated Development Environment) che offrono la possibilità di eseguire molte attività di debug comuni, come l'impostazione dei punti di interruzione, l'ispezione delle variabili e l'esecuzione del codice di funzione una riga alla volta. AWS I toolkit semplificano lo sviluppo, il debug e la distribuzione di applicazioni serverless create utilizzando. AWS SAM Offrono un'esperienza per la creazione, il test, il debug, la distribuzione e l'invocazione di funzioni Lambda integrate nel tuo IDE.

Per ulteriori informazioni sui AWS Toolkit che puoi utilizzare, consulta quanto segue: AWS SAM

Esistono diversi AWS toolkit che funzionano con diverse combinazioni di IDE e runtime. La tabella seguente elenca le combinazioni IDE/runtime comuni che supportano il debug dettagliato delle applicazioni: AWS SAM

IDE Runtime AWS Toolkit Istruzioni per il debug dettagliato
Visual Studio Code
  • Node.js

  • Python

  • .NET

  • Java

  • Go

AWS Toolkit for Visual Studio Code Utilizzo della Guida per l'utente Applicazione Serverless AWSAWS Toolkit for Visual Studio Code
AWS Cloud9
  • Node.js

  • Python

AWS Cloud9, con AWS Toolkit abilitato 1

Utilizzo di applicazioni AWS serverless utilizzando il AWS Toolkit nella Guida per l'AWS Cloud9 utente.

WebStorm Node.js AWS Toolkit for JetBrains2

Esecuzione (richiamo) o debug di una funzione locale in AWS Toolkit for JetBrains

PyCharm Python AWS Toolkit for JetBrains2

Esecuzione (richiamo) o debug di una funzione locale in AWS Toolkit for JetBrains

Rider .NET AWS Toolkit for JetBrains2

Esecuzione (richiamo) o debug di una funzione locale in AWS Toolkit for JetBrains

IntelliJ Java AWS Toolkit for JetBrains2

Esecuzione (richiamo) o debug di una funzione locale in AWS Toolkit for JetBrains

GoLand Go AWS Toolkit for JetBrains2

Esecuzione (richiamo) o debug di una funzione locale in AWS Toolkit for JetBrains

Note:

  1. Per poter eseguire il debug delle AWS SAM applicazioni, il Toolkit AWS Cloud9 deve essere abilitato. AWS Per ulteriori informazioni, vedere Enabling the AWS Toolkit nella Guida per l'utente.AWS Cloud9

  2. Per utilizzare le AWS SAM applicazioni AWS Toolkit for JetBrains di debug dettagliate, è necessario innanzitutto installarle e configurarle seguendo le istruzioni disponibili in Installazione di. AWS Toolkit for JetBrainsAWS Toolkit for JetBrains

Esecuzione AWS SAM locale in modalità debug

Oltre all'integrazione con AWS Toolkits, puoi anche eseguirlo AWS SAM in «modalità debug» per collegarti a debugger di terze parti come ptvsd o delve.

Per eseguire in modalità debug, usa i comandi o AWS SAM con l'opzione o. sam local invoke sam local start-api --debug-port -d

Per esempio:

# Invoke a function locally in debug mode on port 5858 sam local invoke -d 5858 <function logical id> # Start local API Gateway in debug mode on port 5858 sam local start-api -d 5858
Nota

Se la utilizzisam local start-api, l'istanza API Gateway locale espone tutte le tue funzioni Lambda. Tuttavia, poiché è possibile specificare una singola porta di debug, è possibile eseguire il debug di una sola funzione alla volta. È necessario chiamare l'API prima del collegamento alla porta AWS SAMCLI, il che consente al debugger di connettersi.