我正在做一个项目,我想在 Web Job 中实现 Service Buss 触发器。我已按照此处的说明进行操作: https ://docs.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 ://docs.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)
{
}
