Com AWS recipiente reutilização , eu quero entender se a reutilização acontece quando qualquer chamada está pendente dentro desse recipiente ou após a chamada ter terminado. Preciso declarar alguns recursos fora da função manipulador e quer que eu use a sincronização e doc , mas antes de eu fazer o que eu quero entender o que a AWS promessa / contrato.
O lambda não precisa de sincronização, tudo o que você declarar fora do manipulador será reutilizado para a próxima invocação que atinge o mesmo ambiente de execução. Mas não haverá duas invocações no mesmo recipiente, ao mesmo tempo. Somente após as primeiras invocações termina um segundo pode bater o mesmo ambiente de execução.
A palavra-chave é a olhar para o já mencionado "ambiente de execução" / "contexto de execução". Você pode encontrar https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html e https://docs.aws.amazon.com/lambda/latest/dg/running-lambda-code .html útil.
Depois de uma função Lambda é executado, AWS Lambda mantém o contexto de execução por algum tempo, em antecipação de uma outra função chamada Lambda. Com efeito, o serviço congela o contexto de execução após um lambda concluída função e descongela o contexto para reutilização, se AWS Lambda escolhe para reutilizar o contexto quando a função Lambda é chamado novamente
O "depois" não torná-lo 100% absoluta, mas o suficiente clara e posso confirmar que este é o caso.