

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

# Conceitos básicos do uso de aplicações sem servidor
<a name="sam-get-started"></a>

As seções a seguir descrevem como começar a criar um a AWS Serverless Application partir do AWS Toolkit for Visual Studio Code, usando AWS Serverless Application Model (AWS SAM) e CloudFormation pilhas. 

## Pré-requisitos
<a name="serverless-apps-assumptions"></a>

Antes de criar ou trabalhar com um AWS Serverless Application, os seguintes pré-requisitos devem ser preenchidos.

**nota**  
As operações a seguir podem exigir que você saia ou reinicie o VS Code antes que as alterações sejam concluídas.
+ Instale a interface de linha de AWS SAM comando (CLI). *Para obter informações e instruções adicionais sobre como instalar a AWS SAM CLI, consulte o tópico [Instalando a AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) neste Guia do usuário.AWS Serverless Application Model * 
+ No seu arquivo de AWS configuração, identifique sua AWS região padrão. Para obter mais informações sobre o arquivo de configuração, consulte o tópico [Configurações de arquivos de configuração e credenciais](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) no *Guia do usuário da versão 2 da AWS Command Line Interface *.
+ Instale o SDK do seu idioma e configure a cadeia de ferramentas. Para obter informações adicionais sobre como configurar seu conjunto de ferramentas a partir do, AWS Toolkit for Visual Studio Code consulte o tópico [Configurar seu conjunto de ferramentas](setup-toolchain.md) neste Guia do usuário.
+ Instale a [extensão de suporte à linguagem YAML](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) no VS Code Marketplace. Isso é necessário para que o CodeLens recurso de arquivos de AWS SAM modelo esteja acessível. Para obter informações adicionais sobre CodeLens, consulte a [CodeLens](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#codelens-show-actionable-context-information-within-source-code)seção na documentação do VS Code 

## Permissões do IAM para aplicações sem servidor
<a name="serverless-apps-permissions"></a>

No kit de ferramentas para VS Code, você deve ter um perfil de credenciais que contenha as permissões do AWS Identity and Access Management (IAM) necessárias para implementar e executar aplicações sem servidor. Você deve ter read/write acesso adequado aos seguintes serviços: IAM CloudFormation, Lambda, Amazon API Gateway, Amazon Simple Storage Service (Amazon S3) e Amazon Elastic Container Registry (Amazon ECR).

Para obter mais informações sobre como configurar a autenticação necessária para implantar e executar aplicações sem servidor, consulte [Managing resource access and permissions](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-permissions.html) no *Guia do desenvolvedor do AWS Serverless Application Model *. Para obter informações sobre como configurar credenciais, consulte [AWS Credenciais do IAM](setup-credentials.md) neste guia do usuário.

## Criar uma aplicação sem servidor (local)
<a name="serverless-apps-create"></a>

Este procedimento mostra como criar um aplicativo sem servidor com o Toolkit for VS Code usando. AWS SAM A saída desse procedimento é um diretório local em seu host de desenvolvimento contendo um exemplo de aplicativo sem servidor, que você pode criar, testar, modificar e implantar localmente na AWS nuvem.<a name="serverless-apps-create-proc"></a>

1. Para abrir a **paleta de comandos**, selecione **Exibir**, **Paleta de comandos** e digite **AWS**.

1. Escolha **Kit de ferramentas da AWS : criar aplicação Lambda SAM**.  
![Caixa de diálogo da paleta de comandos.](http://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/images/sam-create-app-cmdlet-updated.png)
**nota**  
Se a AWS SAM CLI não estiver instalada, você receberá um erro no canto inferior direito do editor do VS Code. Se isso acontecer, verifique se todos os [pré-requisitos e suposições](#serverless-apps-assumptions) foram atendidos.

1. Escolha o tempo de execução do seu AWS SAM aplicativo.
**nota**  
Se você selecionar um dos tempos de execução com “(Image)”, o tipo de pacote da aplicação será `Image`. Se você selecionar um dos tempos de execução sem “(Image)”, o tipo de pacote da aplicação será `Zip`. Para obter mais informações sobre a diferença entre o `Image` e os tipos de pacote de `Zip`, consulte [Pacotes de implantação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) no *Manual do desenvolvedor do AWS Lambda *.

1. Dependendo do runtime selecionado, você talvez precise selecionar um gerenciador de dependências e uma arquitetura de runtime para a aplicação do SAM.

------
#### [ Dependency Manager ]

   Escolha entre **Gradle** ou **Maven**.

**nota**  
Essa opção de ferramentas de automação de compilação está disponível apenas para o runtime Java.

------
#### [ Architecture ]

   Escolha entre **x86\_64** ou **arm64**.

   A opção de executar seu aplicativo sem servidor em um ambiente emulado ARM64 baseado em vez do ambiente padrão baseado em x86\_64 está disponível para os seguintes tempos de execução:
   + nodejs12.x (ZIP e imagem)
   + nodejs14.x (ZIP e imagem)
   + python3.8 (ZIP e imagem)
   + python3.9 (ZIP e imagem)
   + python3.10 (ZIP e imagem)
   + python3.11 (ZIP e imagem)
   + python3.12 (ZIP e imagem)
   + java8.al2 com Gradle (ZIP e imagem)
   + java8.al2 com Maven (somente ZIP)
   + java11 com Gradle (ZIP e imagem)
   + java11 com Maven (somente ZIP)

**Importante**  
Você deve instalar a AWS CLI versão 1.33.0 ou posterior para permitir que os aplicativos sejam executados em ambientes ARM64 baseados. Para obter mais informações, consulte [Pré-requisitos](setup-toolkit.md#setup-prereq).

------

1. Escolha um local para o seu novo projeto. Você pode usar uma pasta workspace existente se uma estiver aberta, **Select a different folder (Selecionar uma pasta diferente)** já existente, ou criar uma nova pasta e selecioná-la. Neste exemplo, escolha **There are no workspace folders open (Não há pastas workspace abertas)** para criar uma pasta chamada `MY-SAM-APP`.

1. Insira um nome para seu novo projeto. Neste exemplo, use `my-sam-app-nodejs`. Depois de pressionar **Enter**, o kit de ferramentas para VS Code levará alguns instantes para criar o projeto.

Quando o projeto é criado, sua aplicação é adicionada ao espaço de trabalho atual. Você o verá listado na janela do **Explorer**.

## Abrir uma aplicação sem servidor (local)
<a name="serverless-apps-open"></a>

Para abrir uma aplicação sem servidor no host de desenvolvimento local, abra a pasta que contém o arquivo de modelo da aplicação.

1. No menu **Arquivo**, selecione **Abrir**.

1. Na caixa de diálogo **Abrir pasta**, acesse a pasta da aplicação sem servidor que você deseja abrir.

1. Selecione o botão **Selecionar pasta**.

Ao abrir a pasta de uma aplicação, ela é adicionada à janela do **Explorer**.

## Executar e depurar uma aplicação sem servidor usando um modelo (local)
<a name="serverless-apps-debug"></a>

Você pode usar o kit de ferramentas para VS Code para configurar como depurar aplicações sem servidor e executá-las localmente no ambiente de desenvolvimento.

Você começa a configurar o comportamento de depuração usando o [CodeLens](https://code.visualstudio.com/api/language-extensions/programmatic-language-features#codelens-show-actionable-context-information-within-source-code)recurso VS Code para identificar uma função Lambda elegível. CodeLens permite interações sensíveis ao conteúdo com seu código-fonte. Para obter informações sobre como garantir que você possa acessar o CodeLens recurso, consulte a [Pré-requisitos](#serverless-apps-assumptions) seção anterior neste tópico.

**nota**  
Neste exemplo, você depura um aplicativo que usa JavaScript. No entanto, é possível usar os recursos de depuração do kit de ferramentas para VS Code com os seguintes runtimes e linguagens:  
C\#: .NET Core 2.1, 3.1; .NET 5.0
JavaScript/TypeScript — Node.js 12. *x*, 14. *x*
Python: 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12
Java: 8, 8.al2, 11
Go: 1.x
Sua escolha de idioma também afeta a forma como CodeLens detecta manipuladores Lambda qualificados. Para obter mais informações, consulte [Executar e depurar funções do Lambda diretamente do código](serverless-apps-run-debug-no-template.md).

Neste procedimento, você usa a aplicação de exemplo criada anteriormente na seção [Criar uma aplicação sem servidor (local)](#serverless-apps-create) neste tópico.

1. Para visualizar os arquivos da aplicação no explorador de arquivos do VS Code, selecione **Exibir**, **Explorador**.

1. Na pasta do aplicativo (por exemplo, *my-sample-app*), abra o `template.yaml` arquivo.
**nota**  
Se você usar um modelo com um nome diferente de`template.yaml`, o CodeLens indicador não estará disponível automaticamente no arquivo YAML. Isso significa que você deve adicionar manualmente uma configuração de depuração.

1. No editor de `template.yaml`, acesse a seção `Resources` do modelo que define os recursos sem servidor. Nesse caso, esse é o recurso `HelloWorldFunction` do tipo `AWS::Serverless::Function`.

   No CodeLens indicador desse recurso, escolha **Adicionar configuração de depuração**.  
![Usando o CodeLens indicador no template.yaml arquivo para adicionar uma configuração de depuração.](http://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/images/yaml_template_debug.png)

1. Na **paleta de comandos**, selecione o runtime em que a aplicação do AWS SAM será executada.

1. No editor para o arquivo `launch.json`, edite ou confirme valores para as seguintes propriedades de configuração:
   + `"name"` – Insira um nome de leitura fácil para aparecer na caixa **Configuration** (Configuração) no campo suspenso da exibição **Run** (Executar).
   + `"target"`— Certifique-se de que o valor seja `"template"` para que o AWS SAM modelo seja o ponto de entrada para a sessão de depuração.
   + `"templatePath"` – Insira um caminho relativo ou absoluto para o arquivo `template.yaml`.
   + `"logicalId"`— Certifique-se de que o nome corresponda ao especificado na seção **Recursos** do AWS SAM modelo. Neste caso, é o `HelloWorldFunction` do tipo `AWS::Serverless::Function`.  
![Configure o arquivo launch.json para depuração baseada em modelo.](http://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/images/template_based_config_updated.png)

   Para obter mais informações sobre essas e outras entradas no arquivo `launch.json`, consulte [Opções de configuração para depurar aplicações sem servidor](serverless-apps-run-debug-config-ref.md).

1. Se você estiver satisfeito com sua configuração de depuração, salve `launch.json`. Em seguida, para iniciar a depuração, selecione o botão verde “reproduzir” na visualização **EXECUTAR**.

   Quando as sessões de depuração forem iniciadas, o painel **DEBUG CONSOLE** (CONSOLE DE DEPURAÇÃO) mostra a saída de depuração e exibe todos os valores retornados pela função Lambda. (Ao depurar aplicações AWS SAM , o **kit de ferramentas da AWS ** é selecionado como canal de **Saída** no painel **Saída**.)

## Sincronizando aplicativos AWS SAM
<a name="serverless-apps-deploy"></a>

O AWS Toolkit for Visual Studio Code executa o comando AWS SAM CLI `sam sync` para implantar seus aplicativos sem servidor no. Nuvem AWS*Para obter informações adicionais sobre AWS SAM sincronização, consulte o tópico de [referência do comando AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html) no Guia do desenvolvedor AWS Serverless Application Model *

O procedimento a seguir descreve como implantar seus aplicativos sem servidor Nuvem AWS com o Toolkit for VS `sam sync` Code.

1. No menu principal do VS Code, abra a **paleta de comandos**, expanda **Exibir** e selecione **Paleta de comandos**. 

1. Na **Paleta de comandos**, busque **AWS** e escolha **Sincronizar aplicação do SAM** para começar a configurar a sincronização.  
![Comando para sincronizar uma aplicação sem servidor.](http://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/images/samsync032023.png)

1. Escolha a AWS região com a qual sincronizar seu aplicativo sem servidor.

1. Escolha o arquivo `template.yaml` a ser usado para a implantação.

1. Selecione um bucket do Amazon S3 existente ou insira um novo nome de bucket do Amazon S3 para implantar a aplicação.
**Importante**  
O bucket do Amazon S3 deve atender aos seguintes requisitos:  
O bucket deve estar na região com a qual você está sincronizando.
Esse nome de bucket do Amazon S3 deve ser exclusivo globalmente com relação a todos os nomes de buckets existentes no Amazon S3.

1. Se a aplicação sem servidor incluir uma função com o tipo de pacote `Image`, insira o nome de um repositório do Amazon ECR que essa implantação pode usar. O repositório deve estar na região na qual você estiver implantando.

1. Selecione uma pilha de implantação na lista de implantações anteriores ou crie uma pilha de implantação inserindo um novo nome de pilha. Depois, prossiga para iniciar o processo de sincronização.
**nota**  
As pilhas usadas em implantações anteriores são recuperadas por espaço de trabalho e região.

1. Durante o processo de sincronização, o status da implantação é capturado na guia **Terminal** do VS Code. Verifique se a sincronização foi bem-sucedida na guia Terminal. Se ocorrer um erro, você receberá uma notificação.  
![Um pop-up de erro ao implantar uma aplicação sem servidor.](http://docs.aws.amazon.com/pt_br/toolkit-for-vscode/latest/userguide/images/sam-deploy-error.png)
**nota**  
Para obter detalhes adicionais sobre sua sincronização, os AWS Toolkit for Visual Studio Code registros podem ser acessados na **Paleta de comandos**.

   Para acessar seus AWS Toolkit for Visual Studio Code registros a partir da Paleta de Comandos, expanda **Exibir**, escolha **Paleta de Comandos**, pesquise **AWS: View AWS Toolkits Logs** e selecione-a quando ela for preenchida na lista.

Após a conclusão da implantação, a aplicação é mostrada na janela do **AWS Explorer**. Para obter mais informações sobre como invocar a função do Lambda criada como parte da aplicação, consulte o tópico [Trabalhando com AWS Lambda funções](remote-lambda.md) neste guia do usuário.

## Excluindo um aplicativo sem servidor do Nuvem AWS
<a name="serverless-apps-delete"></a>

A exclusão de um aplicativo sem servidor envolve a exclusão da CloudFormation pilha que você implantou anteriormente na nuvem. AWS Observe que esse procedimento não exclui o diretório da aplicação do host local.

1. Abra a [AWS Explorer](aws-explorer.md).

1. Na janela do **AWS Explorer**, expanda a região que contém a aplicação implantada que você deseja excluir e expanda o **CloudFormation**.

1. **Abra o menu de contexto (clique com o botão direito do mouse) do nome da CloudFormation pilha que corresponde ao aplicativo sem servidor que você deseja excluir e escolha Excluir pilha. CloudFormation **

1. Para confirmar que deseja excluir a pilha selecionada, escolha **Excluir**.

Se a exclusão da pilha for bem-sucedida, o kit de ferramentas para VS Code removerá o nome da pilha da lista do CloudFormation no **AWS Explorer**.