我正在尝试构建简单的 azure函数v2 应用程序,该应用程序将包含两个函数,一个基于 TimerTrigger 触发,另一个将由触发EventHubTrigger 。我也有使用Startup.cs类的IoC容器配置。 TimerTrigger-工作正常,但EventHubTrigger遇到一些麻烦。 这是我的设置。 EventHubFunction:
namespace BgService
{
public class MyFunctions
{
[FunctionName("MyFunction")]
public async Task RunAsync([EventHubTrigger("myHubName", Connection = "hub")] string events, ILogger log)
{
}
}
}
local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "*****",
"hub": "Endpoint=sb://***.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=***"
}
}
我的Startup.cs:
[assembly: FunctionsStartup(typeof(BgService.Startup))]
namespace BgService
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
// SomeConfiguration
}
}
当我运行azure函数项目时,出现下一个错误:
[19.07.2019 12:26:23] Microsoft.Azure.WebJobs.Host: Error indexing method 'MyFunction'. Microsoft.Azure.WebJobs.EventHubs: Value cannot be null.
[19.07.2019 12:26:23] Parameter name: receiverConnectionString.
使用的 Microsoft.NET.Sdk.Functions 版本-> 1.0.29
现在棘手的部分是: 当我将 Microsoft.NET.Sdk.Functions 的版本降级为1.0.25且未对代码进行任何修改时->它神奇地开始工作,但 Startup.Configure()不再调用该方法(在1.0.29版中它可以工作)。
感谢您的协助,花了一个小时来解决此问题。
答案 0 :(得分:0)
也许这可以帮助https://github.com/Azure/Azure-Functions/issues/1299
您应将Microsoft.Azure.EventHubs软件包降级为3.0.0