2017-09-26 112 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

相關問題