首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure服务总线死信队列

Azure服务总线死信队列
EN

Stack Overflow用户
提问于 2017-10-20 18:43:38
回答 3查看 8.7K关注 0票数 6

我正在使用azure服务总线主题和订阅机制,并希望处理所有在死信队列中的消息。

此外,我想通过C#中的azure web作业处理消息,并将它们发送回队列。所以我想知道如何通过我的应用程序处理死信队列中的消息?

EN

回答 3

Stack Overflow用户

发布于 2017-10-20 21:47:43

当一条消息是死信消息时,它会进入从其中读取该消息的订阅的死信队列。访问它就像访问原始订阅一样,只是需要将/$DeadLetterQueue附加到订阅名称之后。

票数 12
EN

Stack Overflow用户

发布于 2017-10-24 16:38:05

此外,我想通过C#中的azure web作业处理消息,并将它们发送回队列。

正如spodger指出的,deadletter订阅的路径是:

代码语言:javascript
复制
{topic-path}/Subscriptions/{subcription-name}/$DeadLetterQueue

您可以使用Service Bus的WebJobs SDK并利用ServiceBusTrigger来访问您的死信队列消息,如下所示:

代码语言:javascript
复制
public void ProcessDeadletterQueue(
    [ServiceBusTrigger("topicName", "subscriptionName/$DeadLetterQueue")] BrokeredMessage message)
{
    //TODO:
}

有关更多详细信息,请参阅here

票数 4
EN

Stack Overflow用户

发布于 2018-10-09 12:21:30

当消息是来自服务总线实体(队列或主题订阅)的死信时,它将被移动到同一实体的死信路径。消息的自定义属性DeadLetterReasonDeadLetterErrorDescription.中提供了死字的原因

为了接收死信消息,

代码语言:javascript
复制
string path = Microsoft.ServiceBus.Messaging.SubscriptionClient.FormatDeadLetterPath(topicPath, subscriptionName);    
var subscriptionClient = SubscriptionClient.CreateFromConnectionString(connectionString, path);  
BrokeredMessage message = subscriptionClient.Receive();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46847475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档