【问题标题】:How to create service bus trigger webjob?如何创建服务总线触发 webjob?
【发布时间】:2020-02-27 01:46:39
【问题描述】:

我检查doc 使用下面的代码来配置webjob 以创建服务总线触发功能。

    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();
    }
}

但是当我尝试实现它时,AddServiceBus方法不可用,即使添加服务总线触发功能它总是报No job functions found错误。

那么配置错误在哪里,感谢您的帮助。

【问题讨论】:

  • WebJob 与 Function 不同。 Webjob 会持续轮询您的消息并 24/7 全天候运行。 WebJob可以承载被调用的函数。你能详细说明你想达到什么目的吗?您是在尝试部署函数还是要部署包含函数的 WebJob?
  • 我只想创建服务总线触发器 webjob。
  • 你看过这个文件吗:Get started with the Azure WebJobs SDK for event-driven background processing?这是一个好的开始。

标签: azureservicebus azure-webjobs


【解决方案1】:

根据我的经验,当您创建网络作业时,您没有使用正确的包。如果你检查service bus binding doc,你会发现它需要Microsoft.Azure.WebJobs.Extensions.ServiceBus来提供服务总线绑定。

在我的测试下,你需要以下包:

  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);
    }

希望对您有所帮助,如果您还有其他问题,请随时告诉我。

【讨论】:

  • ServiceBusConnection 定义在哪里?
猜你喜欢
  • 2014-12-21
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 2022-06-10
  • 2019-05-01
  • 2020-07-26
  • 1970-01-01
相关资源
最近更新 更多