如何检查Azure Service Bus队列是空的?

时间:2017-11-13 23:55:23

标签: python azure command-line-interface azure-servicebus-queues azure-queues

我在我的应用程序中使用azure服务总线队列,我的问题是,有没有办法检查消息队列是否为空,以便我可以关闭我的容器和vms以节省成本。如果有办法解决这个问题,请告诉我,最好是在python中。

由于

1 个答案:

答案 0 :(得分:1)

为此,您可以使用Azure Service Bus Python SDK。您需要做的是使用get_queue方法获取队列的属性,该方法将返回类型为Queue的对象。此对象通过message_count属性公开消息总数。请注意,此计数将包括活动消息,死信队列消息等的计数。

以下是一个示例代码:

from azure.servicebus import ServiceBusService, Message, Queue
bus_service = ServiceBusService(
    service_namespace='namespacename',
    shared_access_key_name='RootManageSharedAccessKey',
    shared_access_key_value='accesskey')
queue = bus_service.get_queue('taskqueue1')
print queue.message_count

Github上提供了Azure Service Bus SDK for Python的源代码:https://github.com/Azure/azure-sdk-for-python/tree/master/azure-servicebus/azure/servicebus