在azure功能中,Mongodb连接关闭错误。

问题描述 投票:0回答:1

我开始使用 azure 函数和 azure cosmosdb (mongodb)。我试图根据条件从 cosmosdb 中获取数据,如果给定条件下没有数据可用,则写入 cosmosdb,然后执行一些后置操作。我的 azure funciton 流程是这样的

  1. 用户输入
  2. 预处理输入数据
  3. 根据预先处理的数据从cosmosdb(mongodb)中获取。
  4. 如果条件为真,则插入db中
  5. 后处理

在第三步,我有代码使用pymongo与cosmosdb连接。

uri = "Mongodb connection string after creating cosmosdb" 
client = pymongo.MongoClient(uri)

它给出的错误是

服务器选择超时错误:连接关闭。

我是否需要添加一些权限来读写数据库或其他一些设置,以使之间的连接 function appcosmos db.

需要帮助

azure-functions pymongo azure-cosmosdb
1个回答
0
投票

从评论来看,你使用的是防火墙。

问题是Azure Functions只有在某些主机型号中才有专用IP,见 https:/docs.microsoft.comen-usazureazure-functionsfunctions-scale。 以获得完整的细节。

如果你有防火墙,你需要确保代码运行的IP是白名单。有些主机型号不提供静态 IP,所以无法做到这一点。

Azure Cosmos DB也提供了一个允许所有Azure服务的防火墙设置。Firewall settings

另一种选择是虚拟网络,但虚拟网络也不是所有Functions托管计划都能使用。

听起来,如果你不想对所有Azure服务开放,可能需要Premium计划的Functions来支持这个功能。

© www.soinside.com 2019 - 2024. All rights reserved.