我有一个问题,当我将我的功能发布到功能应用程序时找不到我的事件中心名称(如果我在VS2017中运行它,它在本地工作正常) . 当我打开函数时,我在azure门户中发布的函数上收到以下错误 .
这是我的Run方法的属性 .
public static void Run([EventHubTrigger("%eventHubName%", Connection = "eventHubConnection")]string data, TraceWriter log)
现在,如果我不包含在eventHubName中包含的%',当我在本地运行它时会说它找不到eventhub(使用eventHubName字符串字面而不是查看local.settings.json就像连接字符串),但它在发布时会起作用 . 我想避免将实际名称放在属性中,因为不同的环境将具有唯一的事件中心名称 .
1 回答
在本地开发时,Azure Functions将使用
local.settings.json
文件 . 当您的功能应用程序在Azure上运行时,它将从“应用程序设置”中读取值 .使用
%zzz%
是读取设置的正确方法,因此当您部署到Azure时,如果您在“应用程序设置”中有一个名为eventHubName
的设置,则会让我产生疑问 .https://docs.microsoft.com/en-us/azure/app-service/web-sites-configure