首页 > 解决方案 > Azure 函数连接字符串部署问题

问题描述

我是 Azure 函数的新手。我正在使用 Visual Studio 开发一个 azure 函数。我在我的项目中引用了一个 dll,它将处理与数据库相关的内容。我正在使用数据库优先方法。在开发过程中,我在 local.settings.json 中添加了连接字符串,它运行良好。现在,我将它部署在 azure 门户上,并在 host.json 中设置了连接字符串,假设它将用作部署的配置文件。部署成功并且连接字符串在那里,但由于某种原因它没有从 host.json 中获取。我尝试在应用程序设置中设置连接字符串,但随后收到“关键字不支持元数据”错误。

这是我在 host.json 中的设置方式:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true"
  },
  "ConnectionStrings": {
    "HMISEntities" : {
      "ConnectionString": "metadata=res://*/EFModel.MyModel.csdl|res://*/EFModel.MyModel.ssdl|res://*/EFModel.MyModel.msl;provider=System.Data.SqlClient;provider connection string='data source=server.data.source;initial catalog=test_db;persist security info=True;user id=user;password=value;MultipleActiveResultSets=True;App=EntityFramework'",
      "ProviderName": "System.Data.EntityClient"
    }
  }
}

任何帮助都是适用的。

标签: entity-frameworkazureazure-functionsazure-deployment

解决方案


host.json文件并非用于存储应用程序设置,而是用于 Azure Functions 主机的配置。暂时将其留空 ( {})。

连接字符串应在 Function App 应用程序设置中定义,有关实体框架的演练,请参阅此答案。


推荐阅读