SQL 通过 Azure 函数的连接仅适用于本地主机

SQL connection over Azure function works only on localhost

我 运行 azure 函数优于 Visual Studio。函数 returns 来自 SQL 数据库的一些数据也在 Azure(SQL 服务器)上托管,在本地主机上一切正常,但是当我将它发布到 azure 时,它​​ returns 500 错误。

在 Azure SQL 上,我检查了从其他 Azure 服务的访问和我的 IP 地址。

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""
  },
  "ConnectionStrings": {
    "MySqlConnectionString": {
      "ConnectionString":
        "Server=tcp:webappgtoproject.database.windows.net,1433;Initial Catalog=database;Persist Security Info=False;User ID=xxx;Password=yyy;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
      "providerName": "System.Data.SqlClient"

    }
  }
}

代码

string str = ConfigurationManager.ConnectionStrings["MySqlConnectionString"].ConnectionString;

using (SqlConnection conn = new SqlConnection(str))
{
    conn.Open();

    // Check PC
    string text2 = "command text";

    using (SqlCommand cmd = new SqlCommand(text2, conn))
    {
    }

    return true;
}

没有 SQL 连接,它在 Azure 上工作正常。

local.settings.json 文件仅在 运行 本地使用。您需要在 App Settings 中定义连接字符串(单击 Function App 和 select App Settings link)。