Repositórios de código aberto - AWS Lambda

Repositórios de código aberto

O AWS Lambda fornece uma variedade de ferramentas, bibliotecas e componentes de código aberto para ajudar você a criar, personalizar e otimizar suas aplicações com tecnologia sem servidor. Esses recursos incluem clientes de interface de runtime, bibliotecas de eventos, imagens de base de contêineres, ferramentas de desenvolvimento e projetos de amostra que são mantidos pela AWS e estão disponíveis no GitHub. Ao aproveitar esses repositórios de código aberto, você pode ampliar os recursos do Lambda, criar runtimes personalizados, processar eventos de vários serviços da AWS e obter insights mais profundos sobre o desempenho da sua função. Esta página fornece uma visão geral dos principais projetos de código aberto que viabilizam o desenvolvimento com Lambda.

Clientes de interface de runtime

Os RICs (Lambda Runtime Interface Clients, ou clientes de interface de runtime do Lambda) são bibliotecas de código aberto que implementam a API Runtime e gerenciam a interação entre seu código de função e o serviço Lambda. Esses clientes lidam com o recebimento de eventos de invocação, a transmissão de informações de contexto e a emissão de relatórios de erros.

Os clientes de interface de runtime usados pelos runtimes gerenciados e pelas imagens de base de contêineres do Lambda são publicados como código aberto. Ao criar runtimes personalizados ou estender os existentes, você pode usar essas bibliotecas de código aberto para simplificar sua implementação. Os seguintes repositórios de código aberto do GitHub contêm o código-fonte dos RICs do Lambda:

Para obter mais informações sobre como usar esses clientes para criar runtimes personalizados, consulte Criar um runtime personalizado para AWS Lambda.

Bibliotecas de eventos

As bibliotecas de eventos do Lambda fornecem definições de tipo e utilitários auxiliares para processar eventos de vários serviços da AWS. Essas bibliotecas ajudam você a analisar e lidar com dados de eventos de maneira segura, facilitando o trabalho com eventos de serviços como Amazon S3, Amazon DynamoDB e Amazon API Gateway.

Para linguagens compiladas, a AWS fornece as seguintes bibliotecas de eventos:

Para linguagens interpretadas como Node.js, Python e Ruby, os eventos podem ser analisados diretamente como objetos JSON sem a necessidade de usar outra biblioteca. No entanto, os desenvolvedores que usam o Node.js e o Python podem aproveitar as Powertools para AWS Lambda, que fornecem esquemas integrados para eventos da AWS que oferecem dicas de tipo, validação de dados e funcionalidades semelhantes às fornecidas pelas bibliotecas de linguagens compiladas.

Imagens de base de contêiner

A AWS fornece imagens de base de contêiner de código aberto que você pode usar como ponto de partida para criar imagens de contêiner para suas funções do Lambda. Essas imagens de base incluem o cliente de interface de runtime e outros componentes necessários para executar suas funções no ambiente de execução do Lambda.

Para obter mais informações sobre as imagens base disponíveis e como usá-las, consulte o repositório de AWS Lambda Base Images e Criar uma função do Lambda usando uma imagem de contêiner.

Ferramentas de desenvolvimento

A AWS fornece ferramentas adicionais de desenvolvimento de código aberto para ajudar você a criar e otimizar suas funções do Lambda:

Powertools para AWS Lambda

As Powertools para AWS Lambda simplificam o desenvolvimento de tecnologia sem servidor com utilitários essenciais para evitar processamento duplicado e processamento em lote para tratamento de vários registros e biblioteca de consumidores Kafka. Esses recursos ajudam a minimizar a complexidade do código e a sobrecarga operacional.

Você também pode aproveitar a validação integrada de esquema de eventos, o registro de log e o rastreamento estruturados e a integração do armazenamento de parâmetros, projetados para acelerar a criação de funções do Lambda prontas para produção e, ao mesmo tempo, seguir as práticas recomendadas de AWS Well-Architected.

Repositórios do GitHub:

Ferramentas de desenvolvimento de Java

  • Java Profiler (experimental): uma ferramenta para criar perfis de funções do Java Lambda.

  • Bibliotecas Java: um repositório que contém uma coleção abrangente de bibliotecas e ferramentas Java para desenvolvimento em Lambda, incluindo projetos importantes, como utilitários de teste JUnit e ferramentas de criação de perfil.

  • Contêiner Java de tecnologia sem servidor: uma biblioteca que permite que você execute aplicações Java existentes no Lambda com o mínimo de alterações.

Ferramentas de desenvolvimento .NET

O repositório de AWS Lambda .NET fornece bibliotecas e ferramentas do .NET para o desenvolvimento do Lambda, incluindo projetos importantes, como ferramentas de AWS Lambda para a CLI do .NET e o servidor .NET Core para hospedar aplicações .NET Core.

Projetos de amostra

Veja uma coleção abrangente de exemplos de projetos e aplicações de Lambda em repositórios de Serverless Land. Esses exemplos demonstram vários casos de uso, padrões de integração e melhores práticas do Lambda para ajudar você a começar a usar suas aplicações com tecnologia sem servidor.