您可以将 Azure Functions 与Atlas结合使用。
最佳实践
使用以下最佳实践正确管理Azure Functions和Atlas之间的连接:
在Azure函数处理程序的 方法之外定义MongoDB服务器的客户端。
Run
请勿在每次调用函数时都定义一个新的
MongoClient
对象。如果这样做,那么驱动程序每一次函数调用都会创建一个新的数据库连接。这种方式的成本很高,并可能导致应用程序尝试创建的连接数超过数据库连接上限。在定义新的MongoClient
时,您应当:创建一次
MongoClient
对象。存储此对象,以便函数可以在函数调用之间重复使用
MongoClient
。
连接示例会重复使用现有数据库连接来加快与数据库的通信,并将与数据库的连接数保持在与应用程序流量相当的合理水平。
从 Azure Functions 限制对 Atlas 集群的网络访问。
使用Atlas 集群和Azure Functions 之间的网络对等互连连接,或者私有端点,通过私有网络连接到Atlas 集群集群,这样您就可以只允许IP访问列表的私有IP地址。
注意
此配置需要配置了虚拟网络 (VNet) 集成的Azure Functions Premium 计划。
如果您不使用私有网络,请考虑使用NAT 网关连接到您的Atlas 集群。查看出站IP解决更改以及确保出站IP地址静态的策略。
将 maxIdleTimeMS 设置为
60000
可在空闲时间达到 1 分钟后自动关闭连接。调整maxIdleTimeMS
有助于减少无服务器函数发生超时错误的概率。
连接示例
mongodb-developer
存储库中的Azure Functions 示例包含示例代码,演示如何使用Atlas集群使用MongoDB C#驾驶员和Azure Functions。
若要学习;了解有关将 Azure Functions 与 Visual Studio Code 结合使用的更多信息,请参阅快速入门:使用 Visual Studio Code 在 Azure 中创建 C# 函数
若要学习;了解有关将 Azure Functions 与 Visual Studio 结合使用的更多信息,请参阅快速入门:使用 Visual Studio 在 Azure 中创建第一个 C# 函数。