gpt4 book ai didi

c# - 运行多个实例的 Azure Function EventHubTrigger

转载 作者:行者123 更新时间:2023-12-03 01:40:57 26 4
gpt4 key购买 nike

我在运行多个 Azure 函数实例时遇到问题,这些函数应该针对相同的 IoTHub 终结点(默认终结点)但不同的使用者组(所需的组是在门户上创建的)。基本上我想在不同的函数上处理相同的消息两次。因此,我编写了两个具有相同设置(相同存储、相同端点和配置)的功能项目,并且仅针对不同的消费者组,如此处提供的示例 Event Hubs features 所示。如果我单独运行每个项目,它们都工作得很好,问题是如果我先运行任何一个项目,然后启动第二个项目,我会收到一个错误,表明 IServiceProvider 已被处置。输出窗口中的错误:

抛出异常:Microsoft.Azure.WebJobs.Script.WebHost.dll 中的“System.NullReferenceException”

函数实现非常简单:

    [FunctionName("MessageFunction")]
public static async Task Run([EventHubTrigger("myActualEventHubName", Connection = "HubConnection", ConsumerGroup = "StoreMap")]OrderRecord message, ILogger log)
{
try
{
if (message != null)
{
log.LogInformation($"Got a valid message");
await Task.Delay(1000);
}

log.LogInformation($"Event Hub trigger function processed a message: {message}");
}
catch (Exception e)
{
log.LogError("Error while processing.", e);
}
}

Function error

这是可以实现的还是我错过了一些东西或者这只是某些库中的错误?任何帮助表示赞赏。

.Net Core 2.1

工具:VisualStudio 15.9.2

Azure Functions 和 Web 作业工具 15.10.2046.0

已安装的 Nuget:

Microsoft.NET.Sdk.Functions 1.0.24

Microsoft.Azure.WebJobs.Extensions.EventHubs 3.0.1

最佳答案

TCP端口被占用导致。 function host本地启动时,默认监听7071端口。我们需要指定不同的端口以允许多个实例一起运行。

右键单击您的项目>属性>调试,在应用程序参数部分添加host start -port 7072

关于c# - 运行多个实例的 Azure Function EventHubTrigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53450199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com