【发布时间】:2020-09-29 04:25:16
【问题描述】:
我有一个发布到 Azure 应用服务的 API,使用 ef 核心连接到 Azure SQL 数据库。以下是步骤和问题:
Azure SQL 数据库已启动并运行正常,我设置了两条防火墙规则,一条用于我的本地开发 ip,一条用于 Azure 应用程序。我可以毫无问题地从本地连接到 Azure SQL,并且我已经完成了迁移。
我从 Azure SQL 复制了连接字符串并放入 appsettings.json,从本地运行 API 并毫无问题地连接到 Azure SQL。
我将我的 API 发布到 Azure 应用服务没有任何问题,我可以看到我的应用运行正常,因为它有静态文件。
然后我转到 Azure 应用服务 => 设置/配置 => 连接字符串,根据 Microsoft 的文档创建一个新的连接字符串,其键/值与我在 appsettings.json 中使用的键/值相同: https://docs.microsoft.com/en-us/azure/app-service/containers/configure-language-dotnetcore#access-environment-variables
但问题是我做完这些后,我的 API 仍然无法正常工作,对 SQL 的 api 调用返回错误 500。
我错过了什么或做错了什么?
谢谢!
【问题讨论】:
-
您是如何定义应用服务防火墙规则的?通过将“允许访问 Azure 服务”设置为 True?
-
感谢 cmets CSharpRocks,我是通过添加客户端 ip 做到的,但我认为这不是正确的方法,因此通过将“允许 Azure 服务和资源访问此服务器”设置为 True 来解决,行得通。
标签: sql azure azure-sql-database azure-web-app-service connection-string