O blog da AWS

Apresentando uma experiência aprimorada de edição no console para o AWS Lambda

Por Julian Wood, Developer Advocate Sênior na Amazon Web Services (AWS).

O AWS Lambda está introduzindo uma nova experiência de edição de código no console da AWS com base no popular Code-OSS, o editor de código-fonte aberto Visual Studio Code. Isso traz a interface familiar do Visual Studio Code e muitos dos recursos diretamente para o console Lambda, permitindo que os desenvolvedores usem seu ambiente e ferramentas de codificação preferidos na nuvem. O Lambda Code Editor exibe pacotes de funções maiores e também se integra ao Amazon Q Developer. Esse é um assistente de codificação com inteligência artificial que fornece sugestões e insights em tempo real para ajudá-lo a escrever, entender e solucionar problemas de suas funções Lambda com mais eficiência.

Visão geral

O Visual Studio Code é a IDE mais popular entre os desenvolvedores, de acordo com a pesquisa de Desenvolvedores do Stack Overflow de 2023. A integração do Code-OSS ao console Lambda traz uma interface familiar, acessível e personalizável aos recursos de edição de código no navegador. Isso proporciona uma experiência de codificação substancialmente semelhante à de trabalhar com código da função localmente. Você pode instalar extensões selecionadas, aplicar temas e configurações preferidas e usar seus atalhos de teclado e as preferências de codificação familiares.

A nova experiência de edição está incluisa como parte do serviço padrão do Lambda, sem custo adicional.

Acessibilidade

A atualização também aborda importantes necessidades de acessibilidade. Com recursos como alto contraste de cores, navegação somente utilizando o teclado e suporte para leitores de tela, a integração do Code-OSS garante uma experiência de codificação inclusiva e acessível para todos os desenvolvedores.

Diferenças do Visual Studio Code IDE

A integração Code-OSS do console Lambda complementa, em vez de substituir totalmente, os fluxos de trabalho de desenvolvimento local. Você pode visualizar e editar o código da função que usa uma linguagem interpretada, linguagens não compiladas, o que é consistente com o console Lambda anterior. A janela de terminal também não está disponível no Code-OSS.

Extensões do AWS Toolkit para Visual Studio Code

A integração com a extensão AWS Toolkit for VS Code fornece acesso a um subconjunto de funcionalidades específicas da AWS, incluindo Q Developer. Isso garante que a experiência de edição de código do Lambda se beneficie de aprimoramentos adicionais de ferramentas para desenvolvedores fornecidos por meio do AWS Toolkit.

Tamanhos de pacotes maiores

Com o Lambda, o tamanho total do pacote para funções baseadas em ZIP, incluindo código e bibliotecas, não pode exceder 50 MB. Anteriormente, o Lambda tinha um limite de 3 MB para edição de código no console. Agora você pode visualizar tamanhos de pacotes de funções de até 50 MB no console, no entanto, ainda há um limite de arquivo único de 3 MB. Isso permite que você visualize o código da função mesmo quando você tem dependências maiores.

Usando os novos recursos

Visualizando o código

Para experimentar o novo Lambda Code Editor, faça login no AWS Management Console e navegue até o serviço Lambda. Crie uma nova função ou edite uma existente. O novo Lambda Code Editor está pronto para uso, sem necessidade de configuração adicional.

Este exemplo mostra a edição de uma função existente, visualizando o código da função no conhecido editor Code-OSS.

Viewing function code in the Lambda Code Editor

Visualizando o código da função no Lambda Code Editor

Anteriormente, o código não era visível porque o tamanho do pacote de código era maior que 3 MB. A atualização permite que você visualize arquivos maiores. A imagem a seguir mostra um tamanho de pacote de 13,3 MB e o editor Code-OSS permite a edição do manipulador de funções.

Visualizando pacotes maiores

Visualizando pacotes maiores

Variáveis de ambiente

No painel esquerdo, as variáveis de ambiente podem ser visualizadas para a função. Selecione o ícone de lápis para editar, adicionar e remover variáveis de ambiente.

Visualizando e editando variáveis de ambiente

Visualizando e editando variáveis de ambiente

Criação de eventos de teste

A nova visualização em tela dividida permite que você teste sua função e veja o código e os resultados do teste lado a lado, simplificando a configuração do evento de teste.

  1. Selecione Criar evento de teste para abrir o painel.

Criação de evento de teste

Criação de evento de teste

Você pode criar eventos de teste privados ou eventos de teste compartilháveis para outros criadores usarem com acesso à conta.

  1. Gere um evento usando um modelo de evento como origem a API HTTP do Amazon API Gateway que a função usa. Salve o evento de teste.

Criação de evento de teste do API Gateway

Criação de evento de teste do API Gateway

Função de invocação

  1. Invoque a função selecionando o botão Invocar

Os resultados da função aparecem no painel Saída (Output), de acordo com a experiência local do VS Code IDE.

Resultado de invocação da função

Resultado de invocação da função

Os registros da função aparecem abaixo da saída.
Visualizando registros de funções

Visualizando registros de funções

Essa visualização permite que você visualize e edite seu código, gere e use eventos de teste e invoque sua função, tudo visível na interface familiar do Lambda Code Editor.

Live tail Logs

O Lambda agora oferece suporte nativo ao Amazon CloudWatch Logs Live Tail. Esse é um recurso interativo de streaming e análise de logs, que permite visualizar e analisar seus logs de funções do Lambda em tempo real.

  1. Selecione o ícone Executar e depurar na barra de atividades no lado esquerdo do editor de código na guia Código.
  2. Selecione Abrir o CloudWatch Live Tail. Isso abre na parte inferior o CloudWatch Logs Live Tail.
  3. Selecione Iniciar para iniciar uma sessão do Live Tail e visualizar seu stream de logs de funções do Lambda em tempo real.
  4. Como alternativa, navegue até a guia Teste e selecione CloudWatch Logs Live Tail para iniciar uma sessão Live Tail.

Resumo ao vivo do CloudWatch Logs

Resumo ao vivo do CloudWatch Logs

Atalhos do teclado

Na caixa de diálogo Extensões do painel esquerdo, você pode ver que os atalhos do teclado estão instalados por padrão.

Visualizando extensões instaladas

Visualizando extensões instaladas

Selecione o ícone Gerenciar, que mostra quais aspectos são configuráveis.

Exibindo opções de configuração

Exibindo opções de configuração

A caixa de diálogo Atalhos do teclado permite que você visualize e altere os atalhos.

Alterando atalhos de teclado

Alterando atalhos de teclado

Paleta de comandos

A visualização da Paleta de Comandos mostra os comandos disponíveis.

Visualizando a paleta de comandos

Visualizando a paleta de comandos

Ajustes de configuração

O painel Configurações permite que você configure o Lambda Code Editor para corresponder ao seu ambiente IDE local, se necessário.

Visualizando o painel de configurações

Visualizando o painel de configurações

Navegue até Temas | Temas de cores para personalizar o tema, incluindo o modo escuro.

Modo escuro do Lambda Console Editor

Modo escuro do Lambda Console Editor

Baixando o código e o modelo da função

Agora ficou mais fácil baixar o código da função e um modelo (template) do AWS Serverless Application Model (AWS SAM) que representa os recursos do Cloudformation necessários para configurar a função, as políticas e as triggers. Isso permite que você comece no console e passe a usar a infraestrutura como código com mais facilidade, o que é uma prática recomendada para o ambiente sem servidor

  1. Navegue até a seção Executar e depurar da barra de atividades.
  2. Selecione Baixar código e modelo SAM.
  3. Extraia o arquivo.zip e abra a pasta no seu IDE VS Code local.

Você pode continuar editando a função em sua experiência de IDE local, que é consistente com o Lambda Console Editor.

IDE local do VS Code para continuar trabalhando na função

IDE local do VS Code para continuar trabalhando na função

Usando seu terminal IDE local ou o AWS Toolkit for VS Code, você pode atualizar a função existente. Você também pode usar a funcionalidade do AWS SAM para criar e implantar o modelo (template) como uma pilha do Cloudformation na nuvem.

Usando o Amazon Q

O assistente de IA do Amazon Q Developer se integra diretamente ao editor de código. Isso reduz a necessidade de consultar documentação externa ou tutoriais, simplificando seu fluxo de trabalho de desenvolvimento.

O Amazon Q fornece sugestões em linha ou usa atalhos de teclado para ações comuns que você realiza, como iniciar o Amazon Q ou aceitar uma recomendação.

O exemplo abaixo adiciona mais funcionalidades a uma nova função do Lambda para baixar um objeto do S3 com a ajuda do Amazon Q. Insira um comentário explicando a funcionalidade de que você precisa.

Fazendo uma pergunta ao Amazon Q

Fazendo uma pergunta ao Amazon Q

Selecione a guia para aceitar a sugestão.

Aceitando uma sugestão do Amazon Q

Aceitando uma sugestão do Amazon Q

Você pode continuar invocando Q manualmente para continuar adicionando mais sugestões de código.

Continue adicionando funcionalidades com o Amazon Q

Continue adicionando funcionalidades com o Amazon Q

Conclusão

A Lambda está introduzindo uma nova experiência de edição de código do console da AWS baseada no popular Code-OSS, o editor de código-fonte aberto do Visual Studio Code. Isso traz a interface e os recursos familiares do VS Code IDE diretamente para o console Lambda, para que você possa usar seu ambiente e ferramentas de codificação preferidos na nuvem. Invoque sua função usando uma nova visualização em tela dividida para ver o código e os resultados do teste lado a lado, simplificando a configuração do evento de teste.

O editor de código exibe pacotes de funções maiores, torna as variáveis de ambiente mais visíveis e também se integra ao Amazon Q Developer. Isso fornece sugestões e insights em tempo real para ajudá-lo a escrever, entender e solucionar problemas com suas funções do Lambda com mais eficiência.

Para obter mais recursos de aprendizado sem servidor, visite Serverless Land.

Este blog é uma tradução do conteúdo original em inglês (link aqui).


Biografia do autor

Julian Wood é Developer Advocate Sênior na Amazon Web Services (AWS) e ajuda desenvolvedores e criadores a adotar Serverless como a tecnologias que podem transformar a maneira como criam e executam aplicativos.


Biografia do tradutor

Nicolas Tarzia é Senior Technical Account Manager na AWS, com mais de 13 anos de experiencia, com ampla experiencia em arquitetura cloud, engenharia e design de software. Atualmente está habilitando empresas do ramo de ISV (Independent Software Vendors) simplificando a operação na nuvem e otimizando os custos em cloud. Sua area de interesse são tecnologias serverless.

https://www.linkedin.com/in/nicolastarzia

Biografia do Revisor

Daniel Abib é arquiteto de soluções sênior na AWS, com mais de 25 anos trabalhando com gerenciamento de projetos, arquiteturas de soluções escaláveis, desenvolvimento de sistemas e CI/CD, microsserviços, arquitetura Serverless & Containers e segurança. Ele trabalha apoiando clientes corporativos, ajudando-os em sua jornada para a nuvem.

https://www.linkedin.com/in/danielabib/