2017-09-26 110 views
1

我有一个Azure Webjob需要从Azure EventHub读取并将输出写入另一个EventHub。从配置文件设置eventhub的名称而不是EventHubTrigger

在我看到的所有例子中,事件中心的名称是在编译时直接在触发器属性中指定的。不过,我想根据配置文件中的值使用不同的名称(所以我可以在生产和测试中以不同的名称命名我的Event Hub)。可能吗?

现在我的代码看起来像这样,正如你所看到的名字“xxx”和“yyy”是编译时间常量。

public void ProcessQueueMessage(
     [EventHubTrigger("xxx")]EventData[] msgs, 
     [EventHub("yyy")]ICollector<EnrichedTrackingEvent> result, 
     TraceWriter log) 
{ 
    //... 
} 

回答

2

定义域名解析器和JobHostConfiguration指定它,如this answer解释。

+0

显然,默认的JobHostConfiguration已经设置为从配置中选择设置,我唯一需要改变的是使用%configkey%符号(因此不需要我自己的NameResolver,因为在其他答案中)。 – viblo

+0

@viblo,很高兴知道,感谢您的更新 – Mikhail

相关问题