获取从天蓝色主题获取消息的订阅客户端中的消息总数

Getting count of total messages in a subscription client that is taking messages from azure topics

我正在使用此代码:

 var ServiceBusClient = require('azure-service-bus-client');
 var serviceBusClient = new ServiceBusClient(
 {
    serviceBusConnection: ""
  }
);

(function(){
   serviceBusClient.receiveSubscriptionMessage(topicName, subscriptionName, 
     function (err, message) {
       console.log("message body :", message);
    });

 })();

我正在搜索特定的消息正文,我正在考虑为此迭代上述方法 - receiveSubscriptionMessage() 但为此我需要订阅客户端中的消息总数。

我正在寻找 node.js 代码,他们在互联网上的许多地方都在 JAVA 或 c# 中给出,但我找不到 MessageCount。任何帮助都会很好。

Link 我正在使用的库是:https://www.npmjs.com/package/azure-service-bus-client

除非我们对发件人发出命令,否则无法获取总数。

因此,我能够想出的另一个解决方法是在收到并检查每条消息以了解特定的 pattern/condition 要求之后。

我知道这是一个迟到的回复,但是 post 中提到的库不是由 Microsoft 或 Azure 维护的。

@azure/service-bus 的最新版本 7.0.0 提供 ServiceBusAdministrationClient 让您管理服务总线资源。

对于本题中的问题,您可以利用getSubscriptionRuntimeProperties方法获取订阅中的消息数。

这里有一个使用 ServiceBusAdministrationClient - administrationClient.ts

的例子

如果有人 运行 遇到旧版节点服务总线 SDK 的问题并在此处着陆,请参阅下面的链接。