Depure funções localmente com 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á.

Depure funções localmente com AWS SAM

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

Algumas das maneiras de realizar a depuração passo a passo local incluem definir pontos de interrupção, inspecionar variáveis e executar o código da função, uma linha por 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 AWS kits de ferramentas para depurar e também pode executar AWS SAM no modo de depuração. Consulte os tópicos desta seção para obter detalhes.

Usando kits AWS de ferramentas

AWS Os kits de ferramentas 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 Os kits de ferramentas facilitam o desenvolvimento, a depuração e a implantação de aplicativos sem servidor criados usando. 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 AWS kits de ferramentas que você pode usar com AWS SAM, consulte o seguinte:

Há uma variedade de AWS kits de ferramentas 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 Kit de ferramentas 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 AWS kit de ferramentas ativado 1

Trabalhando com aplicativos AWS sem servidor usando o AWS kit de ferramentas no Guia do AWS Cloud9 usuário.

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 AWS SAM aplicativos passo a passo, o AWS Toolkit deve estar ativado. Para obter mais informações, consulte Habilitando o AWS kit de ferramentas no Guia do AWS Cloud9 usuário.

  2. Para usar os AWS SAM aplicativos de depuração passo AWS Toolkit for JetBrains a passo, 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 AWS kits de ferramentas, você também pode executar AWS SAM no “modo de depuração” para se conectar a 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 a -d opção --debug-port ou.

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 SAMCLI vincular à porta, o que permite que o depurador se conecte.