【问题标题】:ServiceBusTrigger function not executingServiceBusTrigger 函数未执行
【发布时间】:2015-08-17 19:36:23
【问题描述】:

我正在使用 ServiceBusTrigger 属性 (https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ServiceBus/)

我使用以下代码创建了一条消息,它有效,我在队列中看到它:

var client = QueueClient.CreateFromConnectionString(QueueConnectionString, queueName);
var dto = (AdListingServiceBusDto) obj;
client.Send(new BrokeredMessage(dto));

现在在我的摄入程序中,我有以下代码设置来检索消息(网络作业):

static void Main()
{
    var _servicesBusConn = ConfigurationManager.ConnectionStrings["AzureWebJobsServiceBus"].ConnectionString;
    JobHostConfiguration config = new JobHostConfiguration
    {
        ServiceBusConnectionString = _servicesBusConn
    };

    JobHost host = new JobHost(config);
    host.RunAndBlock();
}

public static void ProcessQueueMessage([ServiceBusTrigger("wordpress-post")] BrokeredMessage dto, TextWriter logger)
{
    logger.WriteLine(dto);
}

我使用了 Service Bus Explorer,在“wordpress-post”队列中看到一条消息,我看到消息文本为“40 12 43 75 73 74 6F 6D 65 72 4F 72 64 65 72 45 76 65 6E 74 08 1A 68 74 74 70".. 等等,所以我知道消息在那里,但函数永远不会被触发(我有一个断点)

知道我做错了什么吗?

【问题讨论】:

  • 将 ProcessQueueMessage 方法中的第一个参数从 BrokeredMessage 更改为 String 是否有效?我知道您将它添加为 BrokeredMessage,它看起来对我来说是正确的。我很好奇将其更改为字符串是否有效。
  • 你找到解决办法了吗?

标签: azure azureservicebus azure-webjobs


【解决方案1】:

我遇到了同样的问题。也许您的消息在 DeadLetterMessage 队列中。用 Fiddler 看看,第一个调用是 GET

GET /your-queue/?api-version=2015-08 HTTP/1.1

CountDetails 将具有值。

其他值得一看的东西:Do messages in dead letter queues in Azure Service Bus expire?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 2013-11-29
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多