azure - 如何为 WebJob 监听器指定特定队列

标签 azure azure-webjobs azureservicebus azure-servicebus-queues

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

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

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

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

最佳答案

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

如果需要处理服务总线消息,请使用ServiceBusTrigger属性:

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

默认连接字符串名称为 AzureWebJobsServiceBus。否则,您可以通过 Connection 属性为连接字符串设置应用程序设置的备用名称。

参见docs以获得进一步的解释。

关于azure - 如何为 WebJob 监听器指定特定队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47959795/

相关文章:

azure - 有没有办法在Azure App Service中注册COM类工厂?

c# - 如何将消息重定向到死信队列Azure服务总线

c# - Azure Function V2 服务总线消息延迟

c# - C# 中的 Azure Functions 应用程序洞察日志记录

azure - 可用性集中的单个虚拟机与不属于任何可用性集中的虚拟机有何不同?

javascript - Azure Active Directory登录页面和Xframe问题

Azure Functions Core Tools 无法安装绑定(bind)所需的扩展

.NET Core Azure WebJobs 不从 Azure 应用程序设置读取

azure - 如何检查Azure存储队列是否有消息

.net - MassTransit Azure ServiceBus 强制连接使用 HTTPS 而不是 AMQP