Azureservicebus 如何创建服务总线触发器webjob?
我选择使用下面的代码配置webjob以创建服务总线触发功能Azureservicebus 如何创建服务总线触发器webjob?,azureservicebus,azure-webjobs,Azureservicebus,Azure Webjobs,我选择使用下面的代码配置webjob以创建服务总线触发功能 static void Main() { var builder = new HostBuilder(); builder.ConfigureWebJobs(b => { b.AddAzureStorageCoreServices(); b.AddServiceBus(sbOptions => { sbOptions.Me
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
方法不可用,甚至添加了服务总线触发函数,它总是报告未找到作业函数错误
那么,配置错误在哪里,谢谢您的帮助。根据我的经验,当您创建webjob时,您没有使用正确的软件包。如果您检查,您会发现它需要
Microsoft.Azure.WebJobs.Extensions.ServiceBus
来提供服务总线绑定
根据我的测试,以下软件包是您需要的:
Microsoft.Azure.WebJobs.Extensions.ServiceBus
,您将能够使用b.AddServiceBus()
方法和Microsoft.Azure.WebJobs.ServiceBus
创建ServiceBusTrigger
功能
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();
}
}
下面是我的测试代码,试试看
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();
}
}
Function.cs
public static void processservicebus(
[ServiceBusTrigger("test", Connection = "ServiceBusConnection")]string myQueueItem,
ILogger log)
{
log.LogInformation(myQueueItem);
}
希望这能对您有所帮助,如果您还有其他问题,请随时告诉我。网络作业与功能不同。Webjob连续轮询您的邮件,并全天候运行。WebJob还可以承载调用的函数。你能详细说明一下你想要实现什么吗?您正在尝试部署函数还是要部署将包含函数的WebJob?我只想创建service bus触发器WebJob。您看过以下文档吗:?这是一个好的开始。