问题标签 [brokeredmessage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
85 浏览

c# - 在 ESB 上识别消息的来源

使用 Azure 服务总线,是否有一种方法可以记录该消息源自的代理消息?虽然功能用途不大,但如果解决问题,我可以将其视为 DevOps 的有用工具。

例如,假设一条UpdateCustomer消息可以从同一 ESB 上的计费和 CRM 应用程序发布。

我曾考虑过BrokeredMessage.MessageId在应用程序名称前加上前缀,但这似乎很老套。有没有更好的方法来记录消息的来源?

解决方案

感谢 Gaurav Mantri 的回答,我已经在BrokeredMessage对象上实现了一个扩展方法,以允许添加自定义属性的字典:

用法

以及扩展方法

希望这可能对某人有所帮助。

0 投票
2 回答
4723 浏览

azure - Sending 1000 brokered messages to the service bus using the SendBatchAsync method

I have an application wherein data is fetched from the SQL DB and sent to the service bus as brokered message. These are the steps:

  1. Data fetched from the DB(in batches of 1000)
  2. Each row of data converted into Brokered Message and added into a list.
  3. The list of 1000 brokered messages is sent to the service bus using SendBatchAsync method.

It is at the 3rd step that I am facing the issue. This is the code for that:

when the compiler comes to SendBatchAsync method, it gives an error that Error during communication with Service Bus. Check the connection information, then retry. with the inner exception being:

However if I try sending 100 messages, it works fine. What can I do to make it send 1000 messages at a time?

Note: each message size is 1445 bytes

0 投票
2 回答
2067 浏览

java - 从服务总线队列中读取死信消息

我想知道是否可以从 JAVA 中的 azure 服务总线队列中读取死信消息。

我找到了以下示例https://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-Dead-22536dd8/sourcecode?fileId=123792&pathId=497121593 但是,我无法将代码转换为 JAVA。

我还发现了https://github.com/Azure/azure-storage-java/tree/master/microsoft-azure-storage/src/com/microsoft/azure/storage 但那里似乎没有任何关于死信的内容一点也不。

我还找到了几个博客(我不允许放置更多链接,所以我不知道如果没有适当的标签我是否应该这样做)。但是它们都没有描述如何在 JAVA 中读取死信消息。

非常感谢提前

0 投票
0 回答
124 浏览

azure - 从服务总线异步接收所有代理消息的最佳方式

这是我想要实现的目标:

  1. 在服务总线上,我有一个包含 5005 条消息的主题。

  2. 我需要查看所有消息而不完成它们并将它们添加到列表中(List<BrokeredMessage>)

这是我正在尝试的:

在上面的代码中,我一次只能获取 100 条消息,因为检索消息有批量大小限制。

我也尝试过异步执行,但它总是在列表中返回 0 条消息。这是代码:

谁能建议一个更好的方法来做到这一点?

0 投票
3 回答
2926 浏览

azure - 如何在 azureservicebus 中查看和删除死信中的消息

我创建了一个 azure 服务总线主题应用程序,它可以查看deadletter中的所有消息。我偷看的一些特定消息(具有特定的 messageid)需要从死信队列中删除。请为实施此提供帮助。

0 投票
1 回答
528 浏览

c# - (Azure) BrokeredMessage.GetBody

我正在尝试将我可以(重新)使用的“通用”订阅者放在一起Azure ServiceBus

但我被困如下;我的代码曾经去掉了非必要部分,看起来像这样。

我希望我msgBody的类型是已序列化到消息正文中的类型。事实上,如果myClass是类似的东西TelephonyEventMessage并且收到的消息是那种类型,那么我msgBody将是该类型的正确实例化/再水合对象。但是虽然我可以使用recdMessage. ContentType 以获取该消息中类的字符串名称....我只是想不出我需要在myClass上面放什么。我现在知识的尽头,没有多少搜索似乎对我来说是一个答案。我是否需要为我的消息中可能存在的每种类型添加特定版本?

0 投票
4 回答
2426 浏览

c# - BrokeredMessage 已处理

我无法将我的BrokeredMessage标记为 Complete。

像预期一样工作的简单代码:

当我尝试等待用户完成myObj时,出现异常:

brokeredmessage已被处理

下面的代码:

对我来说, ServiceBus似乎以某种方式失去了与c#中实际对象的连接

类似于EF中的分离对象,只是在这种情况下,对象与ServiceBus分离

编辑:

只有在用户单击按钮后才将消息标记为完成对我来说很重要。如果 AC 出现故障(或类似情况),我希望消息仍保留在服务总线主题上,以便下次用户启动应用程序时,他将再次收到他未处理的消息。

0 投票
5 回答
13171 浏览

azure - 在本地使用 Azure 服务总线

我正在使用 Azure 服务总线主题和订阅。它用于跨应用程序发送控制消息。消息侦听器(订阅者)以工作角色运行,它们正在接收消息并处理请求。总线中的每条消息只能被拾取一次,即使有多个侦听器同时运行。

使用Service Bus没有问题;但是,我们在本地调试/测试应用程序时遇到了一些问题。我们有 2 条服务总线,1 条用于云端,1 条用于本地调试。现在,如果多人同时调试应用程序,则消息仅由系统中的一个(随机)选择。这是预期的行为,但在调试时会造成麻烦。

有什么办法可以将本地模拟器用于服务总线?我做了一些研究,但我找不到任何可靠的解决方案。有什么方法可以单独调试应用程序吗?

0 投票
1 回答
6831 浏览

c# - C# Service Bus 多个监听器都收到相同的消息( BrokeredMessage )

我曾经使用 RabbitMQ 作为消息传递平台,但我从来没有遇到过任何问题 - 不幸的是,我们最近将我们的基础架构转移到了 Azure,他们不提供 RabbitMQ 服务器,所以我考虑尝试服务总线扩展。

我有一个作家和多个读者。目前,每个读者将阅读不同的消息(消息竞争模式 - 例如有利于负载平衡)。

我想要的是,所有读者都得到相同的信息并自己处理。

读者:

笔者:

我一直在寻找解决方案两个小时,但找不到任何东西。在 RabbitMQ 中,这将是默认行为。

图片显示了我拥有的东西与我需要的东西的模式

0 投票
1 回答
337 浏览

ios - 使用 Azure 总线服务队列在 iOS 设备和后端之间进行代理消息传输

我正在尝试使用 azure bus service 在 iOS 设备和后端之间发送数据。但是我在 Microsoft azure 门户上找到的所有内容都提供了 Azure 帐户存储方法或通过集线器提供推送通知。

我正在尝试使用总线服务队列(FIFO)通过队列客户端发送“代理消息”(用于分布式系统)。我也遇到过这种方法,但发现在 .net C# 上甚至不适用于 iOS