Depurar funções localmente com o AWS SAM - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Depurar funções localmente com o AWS SAM

Você pode usar AWS SAM com uma variedade de kits de ferramentas e e depuradores para testar e depurar seus aplicativos sem servidor do AWS localmente. A depuração passo a passo das funções do Lambda permite que você identifique e corrija problemas na aplicação, com uma linha ou instrução de cada vez no seu ambiente local.

Algumas das maneiras de executar a depuração local passo a passo incluem a definição de pontos de interrupção, a inspeção de variáveis e a execução do código da função, uma linha de cada vez. A depuração local passo a passo estreita o ciclo de feedback, possibilitando que você encontre e solucione problemas que possam ocorrer na nuvem.

Você pode usar kits de ferramentas da AWS para depuração e também executar o AWS SAM no modo de depuração. Para obter detalhes, consulte os tópicos desta seção.

Usando kits de ferramentas AWS

Os kits de ferramentas AWS são plug-ins de ambiente de desenvolvimento integrado (IDE) que oferecem a capacidade de realizar muitas tarefas comuns de depuração, como definir pontos de interrupção, inspecionar variáveis e executar o código da função, uma linha por vez. AWS Toolkits facilitam o desenvolvimento, a depuração e a implantação de aplicativos sem servidor que usam o AWS SAM. Eles fornecem uma experiência para criar, testar, depurar, implantar e invocar funções do Lambda que está integrada ao seu IDE.

Para obter mais informações sobre kits de ferramentas AWS que você pode usar com AWS SAM, consulte o seguinte:

Há uma variedade de kits de ferramentas AWS que funcionam com diferentes combinações de IDEs e tempos de execução. A tabela a seguir lista combinações comuns de IDE/tempo de execução que oferecem suporte à depuração passo a passo de aplicativos AWS SAM:

IDE Runtime AWS Toolkit Instruções para depuração passo a passo
Código do Visual Studio
  • Node.js

  • Python

  • .NET

  • Java

  • Go

AWS Toolkit for Visual Studio Code Trabalhar com AWS Serverless Application no Guia do usuário do AWS Toolkit for Visual Studio Code
AWS Cloud9
  • Node.js

  • Python

AWS Cloud9, com o kit de ferramwentas AWS ativado 1

Trabalhar com aplicações AWS sem servidor usando o AWS Toolkit no Guias do usuário do AWS Cloud9.

WebStorm Node.js AWS Toolkit for JetBrains2

Como executar (invocar) ou depurar uma função local no AWS Toolkit for JetBrains

PyCharm Python AWS Toolkit for JetBrains2

Como executar (invocar) ou depurar uma função local no AWS Toolkit for JetBrains

Rider .NET AWS Toolkit for JetBrains2

Como executar (invocar) ou depurar uma função local no AWS Toolkit for JetBrains

IntelliJ Java AWS Toolkit for JetBrains2

Como executar (invocar) ou depurar uma função local no AWS Toolkit for JetBrains

GoLand Go AWS Toolkit for JetBrains2

Como executar (invocar) ou depurar uma função local no AWS Toolkit for JetBrains

Observações:

  1. Para ser usado AWS Cloud9 para depurar aplicativos AWS SAM passo a passo, o kit de ferramentas AWS deve estar ativado. Para obter mais informações, consulte Habilitar o AWS Toolkit no Guia do usuário do AWS Cloud9.

  2. Para usar os aplicativos AWS Toolkit for JetBrains para depuração passo a passo AWS SAM, você deve primeiro instalá-los e configurá-los seguindo as instruções encontradas em Instalando o AWS Toolkit for JetBrains no AWS Toolkit for JetBrains.

Executando AWS SAM localmente no modo de depuração

Além da integração com os kits de ferramentas AWS, você também pode executar AWS SAM no modo “debug” para fixar depuradores de terceiros como ptvsd ou delve.

Para executar AWS SAM no modo de depuração, use comandos sam local invoke ou sam local start-api com o --debug-port ou a opção -d.

Por exemplo:

# 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 você usar sam local start-api, a instância do Gateway da API local expõe todas as funções do Lambda. No entanto, como você pode especificar uma única porta de depuração, é possível depurar somente uma função por vez. Você precisa chamar sua API antes de AWS SAM CLI vincular à porta, o que permite que o depurador se conecte.