我遇到的问题是我的EventHubTriggerAttribute不再使用我的local.settings.json文件来填充属性中的事件中心名称。这是我得到的错误:
在上述错误中,它正在寻找ddhubnamespace.servicebus.windows.net/eventhubname
,它应该是ddhubnamespace.servicebus.windows.net/ddhub
这是TriggerAttribute中的事件中心名称:
public static void Run([EventHubTrigger("eventHubName", Connection = "eventHubConnection")]string data, TraceWriter log)
这是使用local.settings.json文件我必须从这里获取eventHubName:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_EXTENSION_VERSION": "~1",
"eventHubConnection": "Endpoint=sb://ddhubnamespace.servicebus.windows.net/;...",
"eventHubName": "ddhub",
如果在属性中我切换出" eventHubName"对于local.settings.json中的实际事件中心名称(" ddhub")。该功能将成功运行。将属性中的Connection属性设置为json名称也将从json中获取值。任何想法为什么我的eventhubname不再从json拉出来,而是把它作为文字字符串?
答案 0 :(得分:5)
要从配置文件中获取值,您应在属性参数中使用%
标记它:
[EventHubTrigger("%eventHubName%", Connection = "eventHubConnection")]