AWS Lambda
Guia do desenvolvedor

Tipos de aplicativos e casos de uso comuns do Lambda

Ao criar aplicativos no AWS Lambda, os componentes principais são as funções e os gatilhos do Lambda. Um gatilho é o serviço da AWS ou aplicativo que invoca uma função, e uma função do Lambda é o código e tempo de execução que processam eventos. Para ilustrar, considere os seguintes cenários:

  • Processamento de arquivos – Suponha que você tenha um aplicativo de compartilhamento de fotos. As pessoas usam o seu aplicativo para fazer upload de fotos e o aplicativo armazena essas fotos dos usuários no bucket do Amazon S3. Em seguida, o aplicativo cria uma versão em miniatura de cada foto e as exibe na página de perfil do usuário. Neste cenário, você pode optar por criar uma função do Lambda que cria uma miniatura automaticamente. O Amazon S3 é uma das origens de eventos da AWS compatíveis que pode publicar eventos criados por objetos e invocar a função do Lambda. Seu código de função do Lambda pode ler o objeto da foto do bucket do S3, criar uma versão em miniatura e salvá-la em outro bucket do S3.

  • Dados e análise – Suponha que você está criando um aplicativo de análise e armazenando dados brutos em uma tabela do DynamoDB. Quando você gravar, atualizar ou excluir itens em uma tabela, os fluxos do DynamoDB poderão publicar eventos de atualização do item para um fluxo associado à tabela. Neste caso, os dados de eventos fornecem a chave de item, o nome do evento (como, inserir, atualizar e excluir) e outros detalhes relevantes. Você pode escrever uma função do Lambda para gerar métricas personalizadas, agregando dados brutos.

  • Sites – Suponha que você esteja criando um site e deseja hospedar a lógica de back-end no Lambda. Você pode invocar sua função do Lambda pelo HTTP usando o Amazon API Gateway como o endpoint HTTP. Agora, o cliente Web pode invocar a API e o API Gateway pode encaminhar a solicitação para o Lambda.

  • Aplicativos móveis – Suponha que você tem um aplicativo móvel personalizado que produz eventos. Você pode criar uma função do Lambda para processar eventos publicados pelo seu aplicativo personalizado. Por exemplo, neste cenário, você pode configurar uma função do Lambda para processar os cliques no aplicativo móvel personalizado.

O AWS Lambda oferece suporte a muitos serviços da AWS como fontes de eventos. Para obter mais informações, consulte Usar o AWS Lambda com outros serviços. Quando você configura essas fontes de eventos para acionar uma função do Lambda, essa função do Lambda é invocada automaticamente quando ocorrem eventos. Você define o mapeamento de origem do evento, que é a maneira como você identifica quais eventos são rastreados e qual função do Lambda é invocada.

Veja a seguir exemplos de introdução de fontes de eventos e como a experiência de ponta a ponta funciona.

Exemplo 1: o Amazon S3 envia eventos por push e invoca uma função do Lambda

O Amazon S3 pode publicar eventos de diferentes tipos, como eventos de objeto PUT, POST, COPY e DELETE, em um bucket. Usando o recurso de notificação do bucket, você pode configurar um mapeamento de origem de evento que direciona o Amazon S3 para invocar uma função do Lambda quando um tipo específico de evento ocorre, como mostrado na ilustração a seguir.

O diagrama ilustra a seguinte sequência:

  1. O usuário cria um objeto em um bucket.

  2. O Amazon S3 detecta o evento criado por objeto.

  3. O Amazon S3 invoca sua função do Lambda usando as permissões fornecidas pela função de execução.

  4. O AWS Lambda executa a função do Lambda especificando o evento como um parâmetro.

Você configura o Amazon S3 para invocar sua função como uma ação de notificação do bucket. Para conceder ao Amazon S3 permissão para invocar a função, atualize a política baseada em recursos da função.

Exemplo 2: o AWS Lambda extrai eventos de um fluxo do Kinesis e invoca uma função do Lambda

Para fontes de eventos baseadas em sondagem, o AWS Lambda sonda a fonte e, em seguida, invoca a função do Lambda quando são detectados registros naquela fonte.

O diagrama a seguir mostra como um aplicativo personalizado grava os registros em um fluxo do Kinesis.

O diagrama ilustra a seguinte sequência:

  1. O aplicativo personalizado grava os registros em um fluxo do Kinesis.

  2. O AWS Lambda sonda continuamente o fluxo e invoca a função do Lambda no momento em que o serviço detecta novos registros. O AWS Lambda sabe qual fluxo pesquisar e qual função do Lambda invocar com base no mapeamento de origem de evento criado no Lambda.

  3. A função do Lambda é invocada com o evento de entrada.

Ao trabalhar com fontes de eventos com base em fluxo, você cria mapeamentos da fonte do evento no AWS Lambda. O Lambda lê itens do fluxo e invoca a função de forma síncrona. Você não precisa conceder ao Lambda permissão para invocar a função, mas ele precisa de permissão para ler o fluxo.