

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 seu aplicativo sem servidor com AWS SAM
<a name="debug-application"></a>

Depois de testar a aplicação, tudo estará pronto para a depuração dos problemas encontrados. Com a interface de linha de AWS SAM comando (CLI), você pode testar e depurar localmente seu aplicativo sem servidor antes de enviá-lo para a nuvem. AWS A depuração da aplicação identifica e corrige problemas ou erros na aplicação.

Você pode usar AWS SAM para realizar a depuração passo a passo, que é um método de executar código em uma linha ou instrução por vez. Quando você invoca localmente uma função Lambda no modo de depuração dentro AWS SAMCLI do, você pode então anexar um depurador a ela. Com o depurador, você pode percorrer o código linha por linha, ver os valores de diferentes variáveis e corrigir problemas da mesma forma que faria com qualquer outra aplicação. Você pode verificar se seu aplicativo está se comportando conforme o esperado, depurar o que está errado e corrigir quaisquer problemas antes de seguir as etapas de empacotamento e implantação do aplicativo.

**nota**  
Se seu aplicativo inclui uma ou mais camadas, quando você executa e depura localmente seu aplicativo, o pacote de camadas é baixado e armazenado em cache no seu host local. Para obter mais informações, consulte [Como as camadas são armazenadas em cache localmente](serverless-sam-cli-layers.md#local-testing-with-layers).

**Topics**
+ [

# Depure funções localmente com AWS SAM
](serverless-sam-cli-using-debugging.md)
+ [

# Passe vários argumentos de tempo de execução ao depurar com AWS SAM
](serverless-sam-cli-using-debugging-additional-arguments.md)
+ [

# Valide seus AWS SAM aplicativos com CloudFormation o Linter
](validate-cfn-lint.md)

# Depure funções localmente com AWS SAM
<a name="serverless-sam-cli-using-debugging"></a>

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 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 AWS kits de ferramentas para depurar e também pode executar AWS SAM no modo de depuração. Para obter detalhes, consulte os tópicos desta seção. 

## Usando kits AWS de ferramentas
<a name="serverless-sam-cli-using-aws-toolkits"></a>

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:
+ [AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/)
+ [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/)
+ [AWS Toolkit for JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/)

Há uma variedade de AWS kits de ferramentas que funcionam com diferentes combinações IDEs e tempos de execução. A tabela a seguir lista IDE/runtime combinações comuns 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 | 
| --- | --- | --- | --- | 
| Visual Studio Code |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html)  | AWS Toolkit for Visual Studio Code | [Trabalhar com AWS Serverless Application](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/serverless-apps.html) no Guia do usuário do AWS Toolkit for Visual Studio Code   | 
| AWS Cloud9 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging.html)  | AWS Cloud9, com o AWS kit de ferramentas ativado 1 |  [Trabalhando com aplicativos AWS sem servidor usando o AWS kit de ferramentas](https://docs.aws.amazon.com/cloud9/latest/user-guide/serverless-apps-toolkit.html) *no Guia do AWS Cloud9 usuário.*  | 
| WebStorm | Node.js | AWS Toolkit for JetBrains2 |  [Como executar (invocar) ou depurar uma função local](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) no *AWS Toolkit for JetBrains*  | 
| PyCharm | Python | AWS Toolkit for JetBrains2 |  [Como executar (invocar) ou depurar uma função local](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) no *AWS Toolkit for JetBrains*  | 
| Rider | .NET | AWS Toolkit for JetBrains2 |  [Como executar (invocar) ou depurar uma função local](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) no *AWS Toolkit for JetBrains*  | 
| IntelliJ | Java | AWS Toolkit for JetBrains2 |  [Como executar (invocar) ou depurar uma função local](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) no *AWS Toolkit for JetBrains*  | 
| GoLand | Go | AWS Toolkit for JetBrains2 |  [Como executar (invocar) ou depurar uma função local](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html) 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](https://docs.aws.amazon.com/cloud9/latest/user-guide/toolkit-welcome.html#access-toolkit) no *Guia do AWS Cloud9 usuário*.

1. 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](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/setup-toolkit.html) no. *AWS Toolkit for JetBrains*

## Executando AWS SAM localmente no modo de depuração
<a name="serverless-sam-cli-running-locally"></a>

[https://pypi.org/project/ptvsd/](https://pypi.org/project/ptvsd/)

Para executar AWS SAM no modo de depuração, use comandos [sam local invoke](sam-cli-command-reference-sam-local-invoke.md) ou [sam local start-api](sam-cli-command-reference-sam-local-start-api.md) 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.

# Passe vários argumentos de tempo de execução ao depurar com AWS SAM
<a name="serverless-sam-cli-using-debugging-additional-arguments"></a>

Você pode optar por passar argumentos de tempo de execução adicionais AWS SAM para inspecionar problemas e solucionar variáveis com mais eficiência. Isso proporciona controle e flexibilidade adicionais ao processo de depuração, o que pode ajudar nas configurações e ambientes de runtime personalizados.

Para passar argumentos adicionais de tempo de execução ao depurar sua função, use a variável de ambiente `DEBUGGER_ARGS`. Isso passa uma sequência de argumentos diretamente para o comando de execução que AWS SAMCLI usa para iniciar sua função.

Por exemplo, se você quiser carregar um depurador como i KPdb no tempo de execução da sua função Python, você pode passar o seguinte como. `DEBUGGER_ARGS: -m ikpdb --ikpdb-port=5858 --ikpdb-working-directory=/var/task/ --ikpdb-client-working-directory=/myApp --ikpdb-address=0.0.0.0` Isso carregaria i KPdb em tempo de execução com os outros argumentos que você especificou.

Nesse caso, seu comando AWS SAMCLI completo seria:

```
DEBUGGER_ARGS="-m ikpdb --ikpdb-port=5858 --ikpdb-working-directory=/var/task/ --ikpdb-client-working-directory=/myApp --ikpdb-address=0.0.0.0" echo {} | sam local invoke -d 5858 myFunction
```

Você pode passar argumentos do depurador para as funções de todos os tempos de execução.

# Valide seus AWS SAM aplicativos com CloudFormation o Linter
<a name="validate-cfn-lint"></a>

 AWS CloudFormation O Linter (cfn-lint) é uma ferramenta de código aberto que você pode usar para realizar uma validação detalhada em seus modelos. CloudFormation O CFN-lint contém regras que são guiadas pela especificação do CloudFormation recurso. Use cfn-lint para comparar seus recursos com essas regras e receber mensagens detalhadas sobre erros, avisos ou sugestões informativas. Como alternativa, crie suas próprias regras personalizadas para validá-las. *Para saber mais sobre cfn-lint, consulte [cfn-lint](https://github.com/aws-cloudformation/cfn-lint) no repositório.CloudFormation GitHub * 

 Você pode usar o cfn-lint para validar seus modelos AWS Serverless Application Model (AWS SAM) por meio da interface de linha de AWS SAM comando (AWS SAMCLI) executando **sam validate** com a opção. **--lint** 

```
sam validate --lint
```

 Para personalizar o comportamento do cfn-lint, como criar regras personalizadas ou especificar opções de validação, você pode definir um arquivo de configuração. Para saber mais, consulte [Config File](https://github.com/aws-cloudformation/cfn-lint#config-file) no repositório * CloudFormation GitHub cfn-lint*. Quando você executa **sam validate --lint**, o comportamento cfn-lint definido em seu arquivo de configuração será aplicado. 

## Exemplos
<a name="validate-cfn-lint-examples"></a>

### Execute a validação cfn-lint em um modelo AWS SAM
<a name="validate-cfn-lint-examples-example1"></a>

```
sam validate --lint --template myTemplate.yaml
```

## Saiba mais
<a name="validate-cfn-lint-learn"></a>

 Para saber mais sobre o comando **sam validate**, consulte [sam validate](sam-cli-command-reference-sam-validate.md). 