C# 无法解析属性';CosmosDBAttribute.ConnectionString设置';
我用visualstudio开发了带有CosmosDB输出的简单服务总线触发器。Service Bus和CosmosDB的连接字符串在local.settings.json中定义。 代码完全在本地运行。现在我已经将函数(C#)压缩到Azure 我得到一个错误:C# 无法解析属性';CosmosDBAttribute.ConnectionString设置';,c#,azure,azure-functions,C#,Azure,Azure Functions,我用visualstudio开发了带有CosmosDB输出的简单服务总线触发器。Service Bus和CosmosDB的连接字符串在local.settings.json中定义。 代码完全在本地运行。现在我已经将函数(C#)压缩到Azure 我得到一个错误: Microsoft.Azure.WebJobs.Host: Error indexing method 'Function1'. Microsoft.Azure.WebJobs.Host: Unable to resolve the v
Microsoft.Azure.WebJobs.Host: Error indexing method 'Function1'.
Microsoft.Azure.WebJobs.Host: Unable to resolve the value for property
'CosmosDBAttribute.ConnectionStringSetting'.
我该怎么办
错误告诉您需要在Azure上添加设置 azure上的azure函数与本地上的azure函数不同。在local上,设置位于local.settings.json中。但在azure上,它位于配置中。(即使您部署local.settings.json,该函数也将从配置中读取环境设置)
别忘了保存编辑。我在运行azure功能时在本地遇到了同样的问题。我的连接字符串未被接受,因为AccountKey被认为是AccountEndpoint的URL的一部分,并且我在AccountKey的端点和AccountEndpoint之间提供了空间 “ConnectionString设置”:“AccountEndpoint=;AccountKey=;”
请编辑您的问题,将您的代码和错误消息作为格式正确的文本包含在内。深入了解代码和其他文本不应作为图像发布的原因。是否有方法在部署期间自动将这些值从local.settings.json更新为应用程序设置?我了解到它们必须是POM.xml的一部分,但我们如何将其放入该文件中?是的,您可以使用代码上载local.settings.json文件,默认情况下,该文件没有上载。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"myCosmosDb": "AccountEndpoint=https://mycosmoscosmosdb.documents.azure.com:443/; AccountKey=asd4ph1omRg9Rn4dlj7h1f7XqUdO1mHJcpG9rN1XECSO4P6LKorDXjdqK8VTookKvbKXjPTulpEsdfdsbwg==;"
}
}