如何为WebJob侦听器指定特定队列

问题描述 投票:0回答:1

这是我觉得我过去已经解决过的那些问题之一,但我似乎无法解决问题。我有一个WebJob,我只是想在队列中监听一条消息:

public static void ProcessQueueMessage(
        [QueueTrigger("myqueue")] string message,
        TextWriter log)

在本地运行它,它运行,但当我向myqueue添加消息时没有任何反应。我很确定原因是队列触发器不知道在哪里查找我的队列。我觉得应该有QueueTrigger的连接字符串属性,但没有。

我尝试使用服务总线上RootManageSharedAccessKey的连接字符串作为AzureWebJobsStorage值(也尝试过仪表板),但它不喜欢任何连接字符串。如何将Web作业指向正确的服务总线?

azure azure-webjobs azureservicebus azure-servicebus-queues
1个回答
3
投票

QueueTrigger侦听存储队列,而不是服务总线队列。它默认使用AzureWebJobsStorage连接字符串。

如果需要处理Service Bus消息,请使用ServiceBusTrigger属性:

public static void ProcessQueueMessage(
    [ServiceBusTrigger("myqueue")] string message,
    TextWriter log)

默认的连接字符串名称是AzureWebJobsServiceBus。否则,您可以通过Connection属性为连接字符串设置替代的app设置名称。

有关详细说明,请参阅docs

© www.soinside.com 2019 - 2024. All rights reserved.