Microsoft recomienda, para la mayoría de los casos de uso, que cree un singleton de HttpClient, lo configure y lo comparta durante el ciclo de vida de la aplicación, o la solicitud Http en algunos casos.
¿Cómo funciona Lambda con respecto a esto? Cada vez que se enciende mi Lambda (independientemente de si está frío / caliente), ¿se ejecuta el mismo proceso cada vez o se ejecuta un nuevo proceso de dotnet? Si se trata de un nuevo proceso de dotnet cada vez, entonces puedo crear una instancia y desechar de forma segura el HttpClient
porque solo se usa una vez durante el ciclo de vida del Lambda. Si se reutiliza el mismo proceso (con el controlador invocado varias veces), entonces necesito manejar el ciclo de vida de mi HttpClient
diferente.
Se agradecería cualquier orientación sobre cómo debemos tratar el uso de HttpClient en Lambda.
Aquí está mi charla de NDC Minnesota el mes pasado. Si avanza a aproximadamente 2:40 en adelante, paso por el ciclo de vida de un entorno Lambda que, con suerte, aclarará las cosas para usted.
Respondí mi pregunta, ¡gracias!
¡Esto fue muy útil! Aunque esto es 2 años demasiado tarde, ¡Gracias! @normj
Gracias @normj
Para cualquier persona que se encuentre con esta búsqueda de respuestas: cree un HttpClient singleton, debería sobrevivir a algunas invocaciones de eventos hasta el momento en que haya tenido un largo período de inactividad y Lambda destruya el entorno que ejecuta su código.
Comentario más útil
Aquí está mi charla de NDC Minnesota el mes pasado. Si avanza a aproximadamente 2:40 en adelante, paso por el ciclo de vida de un entorno Lambda que, con suerte, aclarará las cosas para usted.
https://vimeo.com/271358846