このルールは、[FunctionName]
-decorated メソッド内で HttpClient がインスタンス化されるときにトリガーされます。
値 | |
---|---|
ルール ID | AZF0002 |
カテゴリ | [信頼性] |
重大度 | 警告 |
規則の説明
HTTP 要求を行うために HttpClient
を簡単な使用方法で使用すると、ソケットの枯渇に対する脆弱性などのいくつかの問題が発生します。 関数アプリでは、関数メソッドの本体で HttpClient
コンストラクターを呼び出すと、すべての関数呼び出しで新しいインスタンスが作成され、これらの問題が増幅します。
従量課金ホスティング プランで実行されているアプリの場合、非効率的な HttpClient
使用方法だと、プランの送信接続の制限が使い尽くされる可能性があります。
推奨されるベスト プラクティスは、アプリケーションの性質に応じて、依存関係の注入または単一の静的 HttpClient
インスタンスと一緒に [IHttpClientFactory
] を使用することです。
違反の修正方法
HttpClient
この例にあるように、関数の外部で定義されている静的インスタンスに インスタンス化を移動します。HttpClient
は、依存関係の挿入を介して IHttpClientFactory を使用して関数に渡します。 この違反を修正するには、この方法をお勧めします。
ルールを抑制する状況
このルールは抑制しないでください。
次の手順
Azure Functions での接続管理のベスト プラクティスの詳細については、「Azure Functions での接続の管理」を参照してください。
HttpClient
の動作の問題と管理の詳細については、「IHttpClientFactory を使用して回復力の高い HTTP 要求を実装する」を参照してください。