Azure函数EventHubTrigger属性未找到事件中心名称

时间:2017-10-13 19:37:01

标签: azure azure-functions

我遇到的问题是,当我将函数发布到函数应用程序时,找不到我的事件中心名称(如果我只是在VS2017中运行它,它在本地工作正常)。当我打开函数时,我收到了天蓝门户中已发布函数的以下错误。

enter image description here

这是我的Run方法的属性。

public static void Run([EventHubTrigger("%eventHubName%", Connection = "eventHubConnection")]string data, TraceWriter log)

现在,如果我不包含在eventHubName中包含的%',当我在本地运行它时,它会说它找不到eventhub(使用eventHubName字符串而不是查看local.settings。 json喜欢连接字符串),但它在发布时会起作用。我想避免将实际名称放在属性中,因为不同的环境将具有唯一的事件中心名称。

1 个答案:

答案 0 :(得分:1)

在本地开发时,Azure Functions将使用local.settings.json文件。当您的功能应用程序在Azure上运行时,它将从“应用程序设置”中读取值。

使用%zzz%是读取设置的正确方法,因此当您部署到Azure时,如果您在“应用程序设置”中有一个名为eventHubName的设置,这会让我产生疑问。

https://docs.microsoft.com/en-us/azure/app-service/web-sites-configure