当前位置: 首页 > 知识库问答 >
问题:

Azure ServiceBus REST API队列中的总消息

马博学
2023-03-14

我一直在关注位于的Azure Service Bus REST API文档https://docs.microsoft.com/en-us/rest/api/servicebus/

在阅读第一条消息之前,我需要知道队列中的消息总数。但是,我看不到一个请求/命令来简单地获取给定队列中消息的总数/计数。

这是否不可能通过REST API并且仅适用于SDK?

谢谢

共有2个答案

江德海
2023-03-14

您当然可以通过REST API获得这些信息。实际上,您可以使用两种不同的REST API来获取这些信息。

  1. 使用Azure资源管理器REST API-使用服务总线命名空间是较新的推荐方式。您要执行的操作是Queue-get。响应正文将包含有关消息计数的详细信息。此API将要求获取Azure AD访问令牌,然后将其用于授权。
  2. 使用旧的REST API-虽然不推荐,但您可以使用旧的服务总线REST API来获取信息。要执行的操作是获取实体。此API将要求您使用服务总线命名空间的共享访问密钥进行授权。

尽管如此,仍然建议您使用SDK,而不是直接使用RESTAPI,因为SDK只是RESTAPI上的包装器。

葛晔
2023-03-14

是的,您可以在需要时通过管理API访问它,更具体地说,这是https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceBus.Fluent/

这里有一个很棒的链接,解释了如何使用这个包并获得你想要的计数器https://www.florinciubotariu.com/retrieving-number-of-messages-in-service-bus-in-net-core/

 类似资料:
  • 我想知道服务总线队列或主题的队列限制中是否定义了任何消息。 假设我已经在Azure iot集线器上创建了一个设备。现在我正在向这个设备发送c2d消息。如果此设备没有可用的接收器。然后它有能力在队列中保存50条消息。在此限制之后。它将丢弃所有发送给它的c2d消息。 我只想确认在服务总线队列或主题中创建的相同类型的场景。 可能此方案不存在于服务总线队列或主题中。但是我有些困惑。

  • 我有一个应用程序,在这个应用程序中,我可以在进程的一部分中以JSON格式将消息写入Azure服务总线队列。我有一个下游进程,我想将该消息从队列中弹出,将json转换为一个对象,然后处理该对象。 我没有问题将消息推送到队列上,但我还没有找到任何将消息从队列中逐一或循环弹出的示例。我在微软或Github上看到的每一个例子都是一个控制台应用程序(在网络应用程序中毫无用处),它设置了某种侦听器,可以抓取队

  • 我有一个windows服务,它侦听Azure服务总线队列消息,以便从我的WebApi应用程序分发处理。此外,我还需要处理重复性任务(每晚/每周),我认为最好使用相同的系统来处理这些任务。 例如,假设我有一个“CleanupDb”队列,每天午夜删除过时的DB节点: 理论上这应该行得通,但我觉得我错过了一个更明显的处理方法。有没有更好的办法?

  • 为什么已经拥有了共享内存时需要消息队列呢? 这将是多种原因,让我们将其分解为多个点来简化 - 据了解,一旦消息被一个进程接收到,它将不再可用于任何其他进程。 而在共享内存中,数据可供多个进程访问。 如果想使用小信息格式进行通信。 当多个进程同时进行通信时,共享内存数据需要同步保护。 使用共享内存的写入和读取频率很高,那么实现功能将会非常复杂。 在这种情况下不值得使用。 如果所有的进程不需要访问共享

  • 一、消息模型 点对点 发布/订阅 二、使用场景 异步处理 流量削锋 应用解耦 三、可靠性 发送端的可靠性 接收端的可靠性 参考资料 一、消息模型 点对点 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 发布与订阅模式和观察者模式有以下不同: 观察者模式中,观察者和主题都知道对方的存在;

  • 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 一个线程会从消息队列中收取消息,另一个线程会定时给消息队列发送普通消息和紧急消息 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: *