我尝试通过启用"启用IP访问控制"来尝试启用Azure DocumentDB防火墙。
我设法允许来自我的App Service的连接。但是,驻留在应用服务上的webjobs无法访问Azure DocumentDB。
有没有办法允许Web作业访问DocumentDB? 感谢
答案 0 :(得分:0)
是否有办法允许Web作业访问DocumentDB?
简而言之,不。 如果我们要启用防火墙阻止访问策略,我们需要添加允许的IP地址列表或IP地址范围。我们可以从document获取更多信息。但Azure WebApp IP不是静态的。
阻止从配置的允许IP地址范围列表之外的计算机访问Azure Cosmos DB数据库帐户
I managed to allow connections from my App Service
如果这意味着您已经允许访问Azure门户。 如果是这种情况,并不意味着我们可以从Azure其他服务访问DocumentDB ,这意味着我们可以从azure门户网站对帐户内的集合或docuemtns执行操作。
如果未启用门户网站访问,您将无法从门户网站对此帐户中的馆藏或文档执行任何操作
总之,如果我们想要允许Web作业访问DocumentDB,那么我们需要 trun 启用IP访问控制关闭。或者我们可以使用Azure云服务或虚拟机代替WebJob。
修改强>
根据您的评论,如果我们想要使用与WebApp相同的IP,我们可以使用出站IP,我们可以从azure资源(https://resources.azure.com/)获取它们,然后将outboundIpAddresses添加到DocumentDB允许的IP名单。 然后webjob可以访问DocumentDB。
注意: outboundIpAddresses不是静态ips,当我们重新启动WebApp或更改WebApp服务计划时,它们可能会被更改。