Azure函数无法连接到Azure SQL数据库

时间:2019-07-02 12:32:29

标签: azure azure-sql-database azure-functions

我创建了应该连接到Azure SQL数据库的Azure函数。

此函数检索保存在应用程序配置中的连接字符串。此连接字符串是Azure SQL提供的。

一切都可以在我的PC上正常运行,但是我已经在Azure上部署了该功能,但似乎无法连接到SQL数据库(返回常见错误“未设置对象引用...”。)

我已经在Azure函数资源中检查了possibleOutboundIpAddresses,并允许它们在Azure SQL防火墙上使用。

此外,我的SQL数据库位于具有存储的Azure VNet中。

有什么主意吗?

2 个答案:

答案 0 :(得分:4)

您可能应该将所需的连接字符串添加到功能的 App Settings 中,而不是配置文件中。除非您明确添加配置文件使其成为使用ConfigurationBuilder查找设置的位置之一,否则默认情况下将将其选中。

更多信息:Azure Functions C# developer reference

  在本地开发和在Azure中运行时,都可以从环境变量中读取

应用程序设置。在本地进行开发时,应用设置来自 local.settings.json 文件中的Values集合。在本地和Azure两种环境中,GetEnvironmentVariable("<app setting name>")检索命名的应用程序设置的值。例如,当您在本地运行时,如果您的 local.settings.json 文件包含{ "Values": { "WEBSITE_SITE_NAME": "My Site Name" } },则会返回“我的网站名称”。

答案 1 :(得分:0)

有一个类似的线程here

在功能运行时v2中,应使用Environment.GetEnvironmentVariable("string_name",EnvironmentVariableTarget.Process)从应用程序设置和连接字符串中获取值。

也许这也适用于您的设置。