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