はい、静的変数に単一のSqlConnectionインスタンスを格納するC#/ SQLと、グローバル変数に単一のDbインスタンスを格納するJS/MongoDBの間には非常に近い同等性があります。 AzureFunctionsでのJS/MongoDBの基本的なパターンは、次のとおりです(async / awaitが最新であると仮定します。または、リンクされた記事に従ってコールバックを使用できます):
// getDb.js
let dbInstance;
module.exports = async function() {
if (!dbInstance) {
dbInstance = await MongoClient.connect(uri);
}
return dbInstance;
};
// function.js
const getDb = require('./getDb.js');
module.exports = async function(context, trigger) {
let db = await getDb();
// ... do stuff with db ..
};
これは、ホストインスタンスごとに1つのDbオブジェクトのみをインスタンス化することを意味します。これは機能アプリごとに1つではないことに注意してください-専用のアプリサービスプランを使用している場合は、プランで指定したインスタンスの数があり、消費プランを使用している場合は異なりますアプリの混雑具合によって異なります。