Atlas ではAzure Functions を使用できます。
ベストプラクティス
次のベストプラクティスを使用して、 Azure Functions 間の接続を適切に管理します および Atlas:
Azure関数ハンドラーの メソッドの外部でMongoDBサーバーへのクライアントを定義します。
Run関数を呼び出すたびに新しいクライアントオブジェクトを定義しないでください。定義すると、ドライバーは関数を呼び出すごとに新しいデータベース接続を作成します。こうなると、コストが高くなり、アプリケーションがデータベース接続制限を超えてしまう可能性があります。最高のパフォーマンスを得るには、次のガイドラインに従ってください。
クライアントオブジェクトを一度だけ作成します。
オブジェクトを保存し、関数の呼び出し全体でクライアントを再利用できるようにします。
この接続例では、既存のデータベース接続を再利用して、データベースとの通信を高速化し、データベースへの接続数をアプリケーション トラフィックに関して適切なレベルに維持します。
Azure Functions から Atlas クラスターへのネットワーク アクセスを制限します。
Atlas クラスターと Azure Functions 間のネットワークピアリング接続を使用してプライベート ネットワーク経由で Atlas クラスターに接続するか、またはプライベートエンドポイントを使用して、 IP アクセス リスト からプライベート IP アドレスのみを許可できるようにします。
プライベートネットワークを使用しない場合は、 NAT ゲートウェイ を使用して Atlas クラスターに接続することを検討してください 。アウトバウンド IP アドレスの変更を 確認する 静的アウトバウンド IP アドレスを保証するための および 戦略。
- maxIdleTimeMS
60000を1 に設定すると、アイドルタイムが 分経過した後に接続が自動的に閉じられます。 を調整すると、サーバーレス関数からのタイムアウトmaxIdleTimeMSエラーの発生を減らすことができます。
接続例
リポジトリのAzure Functions mongodb-developerの例には、Atlas クラスターを使用してMongoDB .NET/ C#ドライバーとAzure Functions を操作する方法を示す例コードが含まれています。
Visual Studio Code でAzure Functions を使用する方法の詳細については、クイックスタート: Visual Studio Code を使用してAzureでC#関数を作成する を参照してください。
Visual Studio でAzure Functions を使用する方法の詳細については、「 クイックスタート: Visual Studio を使用してAzureで最初のC#関数を作成する 」を参照してください。