azure - 如何从服务总线死信队列中读取消息?
问题描述
如何从服务总线死信队列中读取消息?我能够读取消息 ID 和消息的序列号,但我需要实际消息。有人可以帮我弄这个吗?是否可以阅读实际消息?
解决方案
在读取消息表单死信队列之前,您应该检查失败的原因是什么?如果某些服务不可用,则创建 WebJob 并尝试以下代码并处理消息。
public void GetDeadLetterMessagesAsync(string connectionString, string queueName)
{
var queueClient = QueueClient.CreateFromConnectionString(connectionString, QueueClient.FormatDeadLetterPath(queueName));
while (true)
{
BrokeredMessage bmessgage = queueClient.Receive();
if (bmessgage != null)
{
string msg = new StreamReader(bmessgage.GetBody<Stream>(), Encoding.UTF8).ReadToEnd();
//Custom business logic to prcess your message
bmessgage.Complete();
}
else
{
break;
}
}
}
如果消息有问题,那么您应该阅读并在 UI 上显示消息,以便后台团队可以更正消息,否则它将再次失败。
推荐阅读
- css - 如何在 Bootstrap Vue 中更改箭头颜色?
- sql - Postgtres:考虑小时/分钟计算浮动天数
- r - 语法 %||% 的含义是什么?
- c++ - 抑制 LeakSanitizer 输出
- android - 检测已卸载的应用程序:如何向许多设备发送 Fcm 请求以了解其中一个已从 Firebase 未注册?
- amazon-web-services - 在 Node 中查找与已知公共 IP 地址关联的 EC2 资源 ID
- python - 出现错误:AttributeError: 'Node' object has no attribute 'output_masks' at flatten layer 用于展平嵌入输出
- c# - EFCore 跟踪记录状态:IsNew/IsLoaded
- node.js - NodeJs/Express Puppeteer 启动本地视图
- android - 如何更改编辑文本的选择颜色?