Modos de chamada do Lambda
A API Invoke pode ser chamada de duas maneiras: modo de evento e modo de requisição-resposta.
-
O modo evento coloca na fila a carga útil para uma chamada assíncrona.
-
O modo requisição-resposta chama de forma síncrona a função com a carga útil fornecida e retorna uma resposta imediatamente.
Em ambos os casos, a execução da função é sempre executada em um ambiente de execução do Lambda, mas a carga útil vai por caminhos diferentes. Para obter mais informações, consulte “Ambientes de execução do Lambda” neste documento.
Você também pode usar outros serviços da AWS que executam invocações em seu nome. O modo de chamada usado depende de qual serviço da AWS você está usando e de como ele está configurado. Para obter informações adicionais sobre como outros serviços da AWS se integram ao Lambda, consulte Uso do AWS Lambda com outros serviços.
Quando o Lambda recebe uma chamada de requisição-resposta, ela é passada diretamente para o serviço de invocação. Se o serviço de invocação não estiver disponível, os responsáveis pela chamada poderão colocar temporariamente a carga útil na fila do lado do cliente para repetir a ação um determinado número de vezes. Se o serviço de invocação receber a carga útil, o serviço tentará identificar um ambiente de execução disponível para a solicitação e passará a carga útil para esse ambiente de execução para concluir a chamada. Se não existirem ambientes de execução adequados, será criado um de forma dinâmica em resposta à solicitação. Enquanto em trânsito, as cargas úteis enviadas para o serviço de chamada são protegidas com TLS 1.2+. O tráfego dentro do serviço Lambda (do balanceador de carga para baixo) passa por uma virtual private cloud (VPC) interna isolada, de propriedade do serviço Lambda, na região da AWS para a qual a solicitação foi enviada.

Figura 2: Modelo de chamada para requisição-resposta do AWS Lambda
As cargas úteis do modo de chamada evento são sempre colocadas na fila para processamento antes da chamada. Todas as cargas úteis são colocadas em fila para processamento em uma fila Amazon Simple Queue Service
Os eventos em fila são recuperados em lotes pela frota de sondagem do Lambda. A frota de sondagem é um grupo de instâncias do EC2 cuja finalidade é processar invocações de eventos em fila que ainda não foram processadas. Quando a frota de sondagem recupera um evento que está em fila e que precisa processar, isso é feito transferindo-o para o serviço de chamada, da mesma forma que um cliente faria em um modo de requisição-resposta.
Se a chamada não puder ser executada, a frota de sondagem armazenará temporariamente o evento, na memória, no host, até que seja capaz de concluir com êxito a execução, ou até que o número de tentativas de repetição de execução tenha sido excedido. Nenhum dado de carga útil é gravado em disco na própria frota de sondagem. A frota de sondagem pode ser atribuída aos clientes da AWS, permitindo o menor tempo de invocação. Para obter mais informações sobre quais serviços podem usar o modo de invocação de evento, consulte Uso do AWS Lambda com outros serviços.