首页 文章

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

提问于
浏览
0

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

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

在本地运行,它运行,但当我向_2790398添加消息时,没有任何反应 . 我'm pretty sure that the reason is that the queue trigger doesn'知道在哪里寻找我的队列 . 我觉得应该有QueueTrigger的连接字符串属性,但没有 .

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

1 回答

  • 3

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

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

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

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

    有关详细说明,请参见docs .

相关问题