マイクロソフトでは、ほとんどのユースケースで、シングルトンのHttpClientを作成し、共有することをお勧めします。
これに関してラムダはどのように働いていますか? Lambdaが起動するたびに(コールド/ウォームに関係なく)、毎回同じプロセスが実行されますか、それとも新しいドットネットプロセスですか? 毎回新しいドットネットプロセスの場合は、ラムダのライフサイクル全体で1回しか使用されないため、 HttpClient
を安全にインスタンス化して破棄できます。 同じプロセスが再利用される場合(ハンドラーが複数回呼び出される場合)、 HttpClient
のライフサイクルを別の方法で処理する必要があります。
LambdaでのHttpClientの使用をどのように扱うべきかについてのガイダンスをいただければ幸いです。
これが先月のNDCミネソタからの私の話です。 2:40頃にスキップすると、ラムダ環境のライフサイクルを通過します。これにより、問題が解決されることを願っています。
私の質問に答えてくれてありがとう!
これはとても役に立ちました! 2年遅れですが、ありがとうございます! @normj
ありがとう@normj
この答えの検索に出くわした人は誰でも-シングルトンのHttpClientを作成すると、長期間非アクティブになり、Lambdaがコードを実行している環境を破壊するまで、イベントの数回の呼び出しに耐えられるはずです。
最も参考になるコメント
これが先月のNDCミネソタからの私の話です。 2:40頃にスキップすると、ラムダ環境のライフサイクルを通過します。これにより、問題が解決されることを願っています。
https://vimeo.com/271358846