

 AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# Trabalhando com AWS Lambda funções usando o AWS Toolkit
<a name="lambda-toolkit"></a>

O AWS kit de ferramentas oferece suporte a [AWS Lambda](https://aws.amazon.com/lambda/)funções. O AWS kit de ferramentas substitui a funcionalidade fornecida anteriormente pelo plug-in Lambda em. AWS Cloud9 Usando o AWS Toolkit, você pode criar código para funções Lambda que fazem parte [de](https://aws.amazon.com/serverless/) aplicativos sem servidor. Além disso, você pode invocar funções do Lambda localmente ou na AWS.

Lambda é um serviço de computação totalmente gerenciado que executa seu código em resposta a eventos gerados pelo código personalizado ou em diversos Serviços da AWS. Eles incluem o Amazon Simple Storage Service (Amazon S3), o Amazon DynamoDB, o Amazon Kinesis, o Amazon Simple Notification Service (Amazon SNS) e o Amazon Cognito.

**Importante**  
Se você quiser criar uma aplicação do Lambda que use os recursos fornecidos pelo Serverless Application Model (SAM), consulte [Trabalhando com AWS SAM o uso do AWS kit de ferramentas](serverless-apps-toolkit.md).

**Topics**
+ [Invocar funções do Lambda remotas](#remote-lambda)
+ [Baixar, fazer upload e excluir funções do Lambda](#import-upload-delete-lambda)

## Invocar funções do Lambda remotas
<a name="remote-lambda"></a>

Usando o AWS kit de ferramentas, você pode interagir com [AWS Lambda](https://aws.amazon.com/lambda/)as funções de várias maneiras.

Para obter mais informações sobre o Lambda, consulte o [AWS Lambda Manual do desenvolvedor do ](https://docs.aws.amazon.com/lambda/latest/dg/). 

**nota**  
Suponha que você já tenha criado funções Lambda usando o Console de gerenciamento da AWS ou de alguma outra forma. Você pode invocá-los a partir do AWS Toolkit. Para criar uma nova função com o AWS Toolkit na qual você possa implantar AWS Lambda, primeiro você deve [criar um aplicativo sem servidor](serverless-apps-toolkit.md#sam-create).

### Pré-requisitos
<a name="remote-lambda-prereq"></a>
+ Certifique-se de que as credenciais que você configurou incluam acesso apropriado de leitura/gravação ao serviço. AWS Lambda Se no **AWS Explorer**, em **Lambda**, você vir uma mensagem semelhante a “Error loading Lambda resources" (Erro ao carregar os recursos do Lambda), confira as permissões anexadas a essas credenciais. As alterações realizadas nas permissões levam alguns minutos para afetar o **AWS Explorer** no Kit de ferramentas da AWS .

### Invocar uma função do Lambda
<a name="invoke-lam-func"></a>

**Importante**  
Chamar métodos de API usando o AWS kit de ferramentas pode resultar em alterações nos recursos que não podem ser desfeitas. Por exemplo, se você chamar um método `POST`, os recursos da API serão atualizados se a chamada for bem-sucedida. 

Você pode invocar uma função Lambda usando AWS o AWS Toolkit.

****

1. No **AWS Explorer**, escolha o nome da função do Lambda que você deseja invocar e abra o menu de contexto.

1. Escolha **Invocar em. AWS**

1. Na janela **Invoke function** (Chamar função) que se abre, escolha uma opção para a carga útil que a função do Lambda precisa. (A carga útil é o JSON que você quer fornecer para a função Lambda como entrada). É possível selecionar ** Browse** (Procurar) para selecionar um arquivo a ser usado como carga útil ou usar o campo suspenso para escolher um modelo para a carga útil. Nesse caso, a função do Lambda pode parecer uma string como uma entrada, conforme mostrado na caixa de texto.

Selecione **Invoke** (Invocar) para chamar o Lambda e passar a carga útil.

Você vê a saída da função Lambda na AWS Lambda guia.

## Baixar, fazer upload e excluir funções do Lambda
<a name="import-upload-delete-lambda"></a>

O AWS kit de ferramentas fornece as opções para importar e carregar funções Lambda no IDE. AWS Cloud9 

### Baixar uma função do Lambda
<a name="w2aac28c32c13b5"></a>

Ao baixar uma função Lambda, você também baixa os arquivos do projeto que descrevem a função da AWS nuvem e trabalha com eles no AWS Cloud9 IDE.

### Para baixar uma função do Lambda


1. No **AWS Explorer**, no nó do Lambda, abra o menu de contexto (clique com o botão direito do mouse) da função e selecione **Download** (Baixar).

1. Quando solicitado a **Selecionar uma pasta do espaço de trabalho para o novo projeto**, você pode executar uma das seguintes ações:
   + Selecione a pasta sugerida para criar uma subpasta com o mesmo nome do projeto do Lambda.
   + Selecione **Select a different folder** (Selecionar uma pasta diferente) para abrir uma caixa de diálogo para procurar e selecione uma pasta pai diferente como a subpasta do projeto. 

   O IDE abre uma nova janela do editor.

### Configurar uma função do Lambda baixada para execução e depuração
<a name="w2aac28c32c13b7"></a>

Para executar e depurar a função do Lambda baixada como uma aplicação com tecnologia sem servidor, você precisa definir uma configuração de execução no arquivo `launch.json`. Uma função Lambda que foi criada no Console de gerenciamento da AWS pode não estar incluída em uma configuração de inicialização. Por isso, pode ser necessário adicioná-lo manualmente.

### Para adicionar a função do Lambda a fim de iniciar a configuração de execução


1. Depois de baixar a função do Lambda, abra a janela **Environment** (Ambiente) para exibir suas pastas e arquivos.

1. Depois, verifique se a função do Lambda está incluída em um arquivo `/home/ec2-user/.c9/launch.json`. Se ele não estiver presente, faça o seguinte para adicionar um CodeLens link ao código da sua função:

   1. Abra o arquivo de código-fonte que define a função do Lambda (por exemplo, um arquivo `.js` ou `.py`). Em seguida, verifique se há um CodeLens link que você possa usar para adicionar sua função lambda a um `launch.json` arquivo. A CodeLens aparece acima da função e inclui o `Add Debug Config` link.

   1. Selecione **Go** (Ir) (o ícone de lupa) à esquerda do IDE e digite “sam hint” para exibir o comando `AWS: Toggle SAM hints in source files`. Escolha o comando a ser executado. 

   1. Feche o arquivo de código-fonte do Lambda e depois reabra-o.

   1. Se o CodeLens estiver disponível no código-fonte depois de reabrir o arquivo, escolha adicionar `Add Debug Config` a configuração de inicialização.

1. Se você não conseguir adicionar um CodeLens mesmo depois de alternar a opção de dica do SAM, faça o seguinte para adicionar a configuração de inicialização:

   1. Selecione **Go** (Ir) (o ícone de lupa) à esquerda do IDE e digite “config” para exibir o comando `AWS: SAM Debug Configuration Editor`. Escolha o comando a ser executado.

   1. O **SAM Debug Configuration Editor** é exibido. Você pode usar esse editor para definir as propriedades de configuração de ativação. Para obter mais informações, consulte a etapa de [configuring launch properties](serverless-apps-toolkit.md#properties) em [Usar modelos SAM para executar e depurar aplicações sem servidor](serverless-apps-toolkit.md#sam-run-debug-template). 
**nota**  
Se a função do Lambda não tiver um `template.yaml` para aplicações SAM, você precisará adicionar um. Para obter mais informações, consulte [Criar o modelo do AWS SAM](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-lambda-sam-template.html).

   1. Depois de terminar de inserir as informações de configuração necessárias no editor, a configuração de execução será adicionada ao arquivo **launch.json**.

Depois de definir uma configuração de execução para a função do Lambda, você poderá executá-la fazendo o seguinte:

1. Na parte superior do IDE, escolha a seta ao lado de **Auto** (Automático) e selecione a configuração de execução relevante.

1. Depois, escolha **Run** (Executar).

### Fazer upload de uma função do Lambda
<a name="w2aac28c32c13b9"></a>

Você pode atualizar funções existentes do Lambda com código local. Atualizar o código dessa forma não usa a AWS Serverless Application Model CLI para implantação e não cria uma AWS CloudFormation pilha. Dessa forma, é possível fazer upload de uma função do Lambda com qualquer ambiente de tempo de execução compatível com o Lambda. 

Há várias opções de interface para carregar funções do Lambda usando AWS o Toolkit. 

#### Upload por meio da janela **Environment** (Ambiente) ou do **Command pane** (Painel de comando)
<a name="upload-lambda-from-environment"></a>

1. Na janela **Environment** (Ambiente) referente a seus arquivos de projeto, selecione o menu de contexto (clique com o botão direito do mouse) do `template.yaml` para a aplicação Lambda da qual você deseja fazer upload e selecione **Upload Lambda** (Fazer upload do Lambda).

   Se preferir, pressione **Ctrl\$1P** para abrir o painel **Go to Anything** (Acessar tudo) e digite “lambda” para acessar o comando **AWS Upload Lambda**. Depois, selecione-o para iniciar o processo de upload.

1. Em seguida, selecione um para Região da AWS o qual você deseja fazer o upload.

1. Agora escolha uma opção para carregar a função do Lambda:

   **Fazer upload de um arquivo .zip**

   1. Selecione **ZIP Archive** (Arquivo ZIP) no menu.

   1. Escolha um arquivo.zip do seu sistema de AWS Cloud9 arquivos e escolha **Abrir**.

   **Carregar um diretório como está**

   1. Selecione **Directory** (Diretório) no menu.

   1. Escolha um diretório do seu sistema de AWS Cloud9 arquivos e escolha **Abrir**.

1. Especifique o manipulador de funções do Lambda que processa eventos. Quando sua função é invocada, o Lambda executa esse método do manipulador.
**nota**  
É possível selecionar sua função do Lambda na lista exibida. Se você não souber qual função selecionar, poderá inserir o ARN (nome do recurso da Amazon) de uma função do Lambda disponível no Kit de ferramentas. 

   Uma caixa de diálogo é exibida perguntando se você deseja que esse código seja publicado como a versão mais recente da função do Lambda. Selecione **Yes** (Sim) para confirmar a publicação.
**nota**  
Você também pode fazer upload de aplicações Lambda por meio do menu de contexto (clique com o botão direito do mouse) da pasta principal e selecionando **Upload Lambda** (Fazer upload do Lambda). A pasta principal é selecionada automaticamente para upload.

#### Upload do **AWS Explorer**
<a name="upload-lambda-from-explorer"></a>

1. No **AWS Explorer**, abra o menu de contexto (clique com o botão direito do mouse) do nome da função do Lambda que você deseja importar.

1. Escolha **Upload Lambda** (Carregar Lambda)

1. Escolha entre as três opções para fazer o upload da função do Lambda.

   **Carregar um arquivo .zip pré-criado**

   1. Selecione **ZIP Archive** (Arquivo ZIP) no menu.

   1. Escolha um arquivo.zip do seu sistema de AWS Cloud9 arquivos e escolha **Abrir**.

   1. Confirme o upload com a caixa de diálogo modal. Isso carrega o arquivo.zip e atualiza imediatamente o Lambda após a implantação.

   **Carregar um diretório como está**

   1. Selecione **Directory** (Diretório) no menu.

   1. Escolha um diretório do seu sistema de AWS Cloud9 arquivos e escolha **Abrir**.

   1. Selecione **No** (Não) quando for solicitado a compilar o diretório.

   1. Confirme o upload com a caixa de diálogo modal. Isso carrega o diretório como está e atualiza imediatamente o Lambda após a implantação.

   **Criar e carregar um diretório**

   1. Selecione **Directory** (Diretório) no menu.

   1. Escolha um diretório do seu sistema de AWS Cloud9 arquivos e escolha **Abrir**.

   1. Selecione **Yes** (Sim) quando for solicitado a compilar o diretório.

   1. Confirme o upload com a caixa de diálogo modal. Isso cria o código no diretório usando o comando AWS SAM `sam build` CLI e atualiza imediatamente o Lambda após a implantação.

### Implantar uma função do Lambda para acesso remoto
<a name="w2aac28c32c13c11"></a>

Você pode disponibilizar suas funções locais remotamente implantando-as como aplicações SAM sem servidor.

### Para implantar uma função do Lambda como uma aplicação SAM


1. No **AWS Explorer**, abra o menu de contexto (clique com o botão direito do mouse) do nó do **Lambda** e selecione **Deploy SAM Application** (Implantar aplicação SAM).

1. No painel de comando, selecione a opção [YAML template](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html) (Modelo da YAML) que define a função como uma aplicação sem servidor.

1. Depois, selecione um bucket do Amazon S3 para a implantação do Lambda. Você também pode optar por criar um bucket para a implantação.

1. Agora, insira o nome de uma CloudFormation pilha na qual você está implantando. Se você especificar uma pilha existente, o comando atualizará a pilha. Se você especificar uma nova pilha, o comando a criará.

   Depois de inserir o nome da pilha, a função do Lambda começará a ser implantada como uma aplicação SAM. Depois de uma implantação bem-sucedida, a aplicação SAM Lambda fica disponível remotamente. Dessa forma, você pode baixá-lo ou invocá-lo de outros ambientes de AWS Cloud9 desenvolvimento. 

Se você quiser criar uma função do Lambda a partir do zero, recomendamos seguir as etapas para [Crie um aplicativo sem servidor com o Toolkit AWS](serverless-apps-toolkit.md#create-serverless-app).

### Excluir uma função do Lambda
<a name="delete-lambda"></a>

Você também pode excluir uma função do Lambda usando o mesmo menu de contexto (clique com o botão direito do mouse).

**Atenção**  
Não use esse procedimento para excluir funções do Lambda associadas ao [CloudFormation](https://docs.aws.amazon.com/cloudformation/). Por exemplo, não exclua a função do Lambda que foi criada ao [criar uma aplicação com tecnologia sem servidor](serverless-apps-toolkit.md#sam-create) anteriormente, neste guia. Essas funções devem ser excluídas por meio da pilha do CloudFormation .

****

1. No **AWS Explorer**, selecione o nome da função do Lambda que você deseja excluir e, depois, abra o menu de contexto (clique com o botão direito do mouse).

1. Escolha **Excluir**.

1. Na mensagem exibida, escolha **Yes (Sim)** para confirmar a exclusão.

Depois de excluída, a função deixa de ser listada no **AWS Explorer**.