gpt4 book ai didi

缺少 .NET Core 2.0 和 Azure Web Jobs 3.0 的 Azure 服务总线触发器配置

转载 作者:行者123 更新时间:2023-12-02 16:53:05 25 4
gpt4 key购买 nike

我正在开发一个项目,我想在 Web 作业中实现服务总线触发器。我已按照此处的说明进行操作: https://learn.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started .

 public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
{
logger.LogInformation(message);
}
}

但我想使用 ServiceBus 的 Microsoft.Azure.WebJobs.ServiceBusTrigger,而不是存储队列 (QueueTrigger)。在文档中声明要使用以下内容: https://learn.microsoft.com/en-us/azure/app-service/webjobs-sdk-how-to#service-bus-trigger-configuration-version-3x

static void Main()
{
var builder = new HostBuilder();
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddServiceBus(sbOptions =>
{
sbOptions.MessageHandlerOptions.AutoComplete = true;
sbOptions.MessageHandlerOptions.MaxConcurrentCalls = 16;
});
});
var host = builder.Build();
using (host)
{

host.Run();
}
}

但是,问题是 b.AddServiceBus 甚至不可用(我有最新的 Web Jobs 版本)。因此,当我运行该项目时,出现“未找到工作功能”错误。有什么想法或指示吗?

我确实尝试过:

 public static void ProcessQueueMessage([Microsoft.Azure.WebJobs.ServiceBusTrigger("queue")] string message, ILogger logger)
{
logger.LogInformation(message);
}

     public static void Run([ServiceBusTrigger("queue", AccessRights.Manage, Connection = "Endpoint=bla bla")]
string myQueueItem, Int32 deliveryCount, DateTime enqueuedTimeUtc, string messageId,ILogger log)
{

}

最佳答案

这是您需要的软件包。

  1. Microsoft.Azure.WebJobs(>= 3.0.10)
  2. Microsoft.Azure.WebJobs.Extensions
  3. Microsoft.Azure.WebJobs.Extensions.ServiceBus
  4. Microsoft.Azure.WebJobs.ServiceBus

Microsoft.Azure.WebJobs.Extensions.ServiceBus 此包用于让您使用 b.AddServiceBus() 方法和 Microsoft.Azure.WebJobs .ServiceBus 用于创建ServiceBusTrigger

下面是我的代码,你可以测试一下。

public static void Main(string[] args)
{
var builder = new HostBuilder();
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddServiceBus();
});
builder.ConfigureLogging((context, b) =>
{
b.AddConsole();
});
var host = builder.Build();
using (host)
{
host.Run();
}
}

函数.cs

public static void processservicebus(
[ServiceBusTrigger("test", Connection = "ServiceBusConnection")]string myQueueItem,
ILogger log)
{
log.LogInformation(myQueueItem);
}

enter image description here

关于缺少 .NET Core 2.0 和 Azure Web Jobs 3.0 的 Azure 服务总线触发器配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584854/

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