Como desenvolver funções do Lambda localmente
Você pode mover suas funções do Lambda do console do Lambda para o ambiente de desenvolvimento integrado (IDE) de sua preferência, que fornece um ambiente de desenvolvimento completo no qual você pode usar outras opções de desenvolvimento local, como AWS SAM e AWS CDK. O console do Lambda oferece suporte à abertura de funções diretamente no Visual Studio Code, no Kiro ou no Cursor.
Principais benefícios do desenvolvimento local
Embora o console do Lambda forneça uma maneira rápida de editar e testar funções, o desenvolvimento local oferece recursos mais avançados:
-
Atributos avançados do IDE: ferramentas de depuração, preenchimento de código e refatoração
-
Desenvolvimento off-line: trabalhe e teste as mudanças localmente antes da implantação na nuvem
-
Infraestrutura como integração de código: uso contínuo com AWS SAM, AWS CDK e Infrastructure Composer
-
Gerenciamento de dependências: controle total sobre as dependências de funções
Pré-requisitos
Antes de desenvolver funções do Lambda localmente usando o Visual Studio Code, o Kiro e o Cursor, você deve instalá-los usando as instruções abaixo:
-
Visual Studio Code: para obter instruções de instalação, consulte Baixar o Visual Studio Code
. -
Kiro: para obter instruções de instalação, consulte Conceitos básicos do Kiro
. -
Cursor: para obter instruções de instalação, consulte Baixar o Cursor
.
Você precisará dos seguintes itens:
-
AWS Toolkit for Visual Studio Code: para obter instruções de instalação do Visual Studio Code, consulte Configurando o AWS Toolkit for Visual Studio Code. Para obter uma visão geral, consulte AWS Toolkit for Visual Studio Code
. -
Credenciais da AWS: para obter informações sobre como configurar as credenciais, consulte Como configurar suas credenciais da AWS.
-
AWS SAM CLI: Para obter instruções de instalação, consulte Como instalar a CLI no AWS SAM.
-
Docker instalado (opcional, mas obrigatório para testes locais): para obter instruções de instalação, consulte Baixar o Docker
.
nota
Se você já tiver uma conta da AWS e um perfil configurados localmente, certifique-se de que a política gerenciada do AdministratorAccess seja adicionada ao seu perfil configurado da AWS.
Autenticação e controle de acesso
Para desenvolver as funções do Lambda localmente, você precisa de credenciais da AWS para acessar e gerenciar os recursos da AWS com segurança em seu nome, assim como fariam na nuvem.
O AWS Toolkit para Visual Studio Code é compatível com os seguintes métodos de autenticação:
-
Credenciais de longo prazo para usuários do IAM
-
Credenciais temporárias de funções assumidas
-
Federação de identidades
-
AWSCredenciais da de usuário-raiz da conta (não recomendado)
Esta seção orienta você na obtenção e configuração dessas credenciais usando as credenciais de longo prazo do usuário do IAM.
Obter credenciais do IAM
Se você já tiver um usuário do IAM com chaves de acesso, tenha o ID da chave de acesso e a chave de acesso secreta prontos para a próxima seção. Se você não tiver essas chaves, siga estas etapas para criá-las:
nota
Você deve usar o ID da chave de acesso e a chave de acesso secreta em conjunto para autenticar suas solicitações.
Para criar um usuário do IAM e chaves de acesso:
-
Abra o console do IAM em https://console.aws.amazon.com/iam/
-
No painel de navegação, escolha Users.
-
Selecione Criar usuário.
-
Em Nome do usuário, insira um nome e clique em Avançar.
-
Em Definir permissões, selecione Anexar políticas existentes.
-
Selecione AdministratorAccess e clique em Avançar.
-
Selecione Criar usuário.
-
No banner de sucesso, clique em Exibir usuário.
-
Selecione Create access key (Criar chave de acesso).
-
Em Caso de uso, selecione Código local.
-
Marque a caixa de seleção de confirmação e clique em Avançar.
-
(Opcional) Insira um valor para a tag de descrição.
-
Selecione Create access key (Criar chave de acesso).
-
Copie sua chave de acesso e chave de acesso secreta imediatamente. Você não poderá acessar a chave de acesso secreta novamente após sair desta página.
Importante
Nunca compartilhe sua chave secreta nem a comprometa com o controle de versão. Armazene essas chaves com segurança e exclua-as quando não forem mais necessárias.
nota
Para obter mais informações, consulte Criar um usuário do IAM na sua conta da AWS e Gerenciar chaves de acesso de usuários do IAM no Guia do usuário do IAM.
Configurar credenciais da AWS usando o AWS Toolkit
A tabela a seguir resume o processo de configuração de credenciais que você concluirá no procedimento a seguir.
| O que fazer | Por quê? |
|---|---|
| Abra o painel de login | Iniciar a autenticação |
| Use a Paleta de Comandos, pesquise Adicionar uma nova conexão da AWS | Acesse a UI de login |
| Escolha a credencial do IAM | Use suas chaves de acesso para acesso programático |
| Digite o nome do perfil, chave de acesso, chave secreta | Forneça as credenciais para conexão |
| Veja a atualizar o AWS Explorer | Confirme que você está conectado |
Conclua as etapas a seguir para autenticar-se em sua conta da AWS:
nota
As etapas a seguir se aplicam ao Visual Studio Code, ao Kiro e ao Cursor. Como o Kiro e o Cursor são criados com base no Visual Studio Code, o fluxo de autenticação é o mesmo em todos os três IDEs.
-
Abra o painel Login no IDE:
Para iniciar o processo de autenticação, clique no ícone da AWS no painel de navegação esquerdo ou abra a Paleta de Comandos (Cmd+Shift+P no Mac ou Ctrl+Shift+P no Windows/Linux) e pesquise e selecione Adicionar uma nova conexão da AWS.
-
No painel de login, escolha Credenciais do IAM e clique em Continuar.
nota
Para continuar, você precisará permitir que as extensões do IDE da AWS acessem seus dados.
-
Insira seu nome de perfil, ID da chave de acesso e chave de acesso secreta e clique em Continuar.
-
Verifique a conexão ao marcar o AWS Explorer no seu IDE para serviços e recursos da AWS.
Para obter informações sobre como configurar a autenticação com credenciais de longo prazo, consulte Como usar credenciais de longo prazo para autenticar SDKs e ferramentas da AWS.
Para obter informações sobre como configurar a autenticação, consulte credenciais do AWS IAM no Guia do usuário do AWS Toolkit for Visual Studio Code.
Mova do console para o desenvolvimento local
nota
Se você fez alterações no console, verifique se não há nenhuma alteração não implantada antes de fazer a transição para o desenvolvimento local.
Para mover uma função do Lambda do console do Lambda para um IDE local, conclua as etapas a seguir:
-
Abra o console do lambda
. -
Escolha o nome da sua função.
-
Selecione a guia Fonte do código.
-
Abra sua função no IDE de sua escolha escolhendo a seta suspensa ao lado do botão. As opções com suporte são Abrir no Visual Studio Code, Abrir no Kiro e Abrir no Cursor.
nota
Sua seleção de IDE é mantida. Depois de escolher um IDE, as visitas subsequentes mostram esse IDE como o botão principal.
-
Quando solicitado, permita que seu navegador abra o IDE selecionado.
Quando você abre a função no seu IDE, o Lambda cria um projeto local com seu código de função em um local temporário projetado para testes e implantação rápidos. Isso inclui o código da função, dependências e uma estrutura básica do projeto que você pode usar para o desenvolvimento local.
nota
O botão Abrir no IDE requer a versão 3.69.0 ou posterior do AWS Toolkit. Se você tiver uma versão anterior do AWS Toolkit instalada, poderá ver uma mensagem Cannot open the handler. Para resolver isso, atualize seu AWS Toolkit para a versão mais recente.
Para obter detalhes sobre o uso da AWS no seu IDE, consulte o Guia do usuário do AWS Toolkit for Visual Studio Code.
Trabalhe com funções localmente
Depois de abrir sua função no IDE de sua preferência, siga estas etapas para acessar e gerenciar suas funções. Para o exemplo abaixo, usamos o Visual Studio Code.
-
Clique no ícone da AWS na barra lateral para abrir o AWS Explorer:
-
No AWS Explorer, selecione a região com sua função do Lambda:
-
Na região selecionada, expanda a seção Lambda para visualizar e gerenciar suas funções:
Com sua função aberta no seu IDE, você pode:
-
Editar o código da função com suporte completo ao idioma e preenchimento de código.
-
Usar a integração do LocalStack para testar funções do Lambda que fazem chamadas de API para outros Serviços da AWS durante a execução, como ler tabelas do DynamoDB ou gravar em buckets do Amazon S3. LocalStack é um emulador de serviço em nuvem que fornece um ambiente de desenvolvimento local completo para testar integrações de serviços. Também é possível usar AWS SAMCLI para testar sua função em um contêiner local. Se sua função fizer chamadas de API para outros Serviços da AWS, essas chamadas alcançarão recursos reais do AWS, não emulados.
-
Depurar sua função com pontos de interrupção e inspeção de variáveis. Para obter mais informações, consulte Execução e depuração de funções do Lambda diretamente do código no Guia do usuário AWS Toolkit for Visual Studio Code.
-
Implantar sua função atualizada novamente para a AWS usando o ícone da nuvem.
-
Instalar e gerenciar dependências para sua função.
Converta sua função em um modelo de AWS SAM e use as ferramentas de IaC
Em todos os IDEs compatíveis (Visual Studio Code, Kiro e Cursor), você pode converter sua função do Lambda em um modelo de AWS SAM escolhendo o ícone Converter em aplicação do AWS SAM ao lado de sua função Lambda. É solicitado que você selecione um local para o projeto do AWS SAM. Depois de selecionada, sua função do Lambda é convertida em um arquivo template.yaml salvo em seu novo projeto do AWS SAM.
Com sua função convertida em um modelo do AWS SAM, você pode:
Controlar o versionamento de sua infraestrutura
Automatizar implantações
Depurar funções remotamente
Adicionar mais recursos da AWS para sua aplicação
Mantenha ambientes consistentes em todo o seu ciclo de vida de desenvolvimento
Use o Compositor de Infraestrutura para editar visualmente seu modelo do AWS SAM
Para obter mais informações sobre o uso de ferramentas de IaC, consulte os seguintes guias:
Essas ferramentas fornecem recursos adicionais para definir, testar e implantar suas aplicações com tecnologia sem servidor.
Próximas etapas
Para saber mais sobre como trabalhar com funções do Lambda no Visual Studio Code, consulte os seguintes recursos:
-
Como trabalhar com funções do AWS Lambda no Guia do usuário do AWS Toolkit para Visual Studio Code
-
Como trabalhar com aplicações com tecnologia sem servidor no Guia do usuário do AWS Toolkit para Visual Studio Code
-
Infraestrutura como código no Guia do desenvolvedor do Lambda