A Microsoft recomenda, para a maioria dos casos de uso, que você crie um singleton de HttpClient, configure-o e compartilhe-o para o ciclo de vida do aplicativo ou solicitação Http em alguns casos.
Como o Lambda trabalha em relação a isso? Cada vez que meu Lambda dispara (independentemente se frio / quente), é o mesmo processo em execução a cada vez ou um novo processo dotnet? Se for um novo processo dotnet a cada vez, posso apenas instanciar e descartar HttpClient
com segurança, pois ele é usado apenas uma vez no ciclo de vida do Lambda. Se o mesmo processo for reutilizado (com o manipulador chamado várias vezes), preciso lidar com o ciclo de vida do meu HttpClient
diferente.
Agradecemos qualquer orientação sobre como devemos tratar o uso de HttpClient em Lambda.
Aqui está minha palestra do NDC Minnesota no mês passado. Se você pular para cerca de 2:40 em, eu percorrerei o ciclo de vida de um ambiente Lambda, que esperançosamente esclarecerá as coisas para você.
Respondeu minha pergunta, obrigado!
Isso foi muito útil! Embora seja 2 anos tarde demais, obrigado! @normj
Obrigado @normj
Para qualquer um que se deparar com essa busca por respostas - crie um HttpClient singleton, ele deve sobreviver a algumas invocações de eventos até que você tenha um longo período de inatividade e o Lambda destrua o ambiente executando seu código.
Comentários muito úteis
Aqui está minha palestra do NDC Minnesota no mês passado. Se você pular para cerca de 2:40 em, eu percorrerei o ciclo de vida de um ambiente Lambda, que esperançosamente esclarecerá as coisas para você.
https://vimeo.com/271358846