I'm using Python 3.8 with azure-mgmt-servicebus= v. 1.0.0. I would like to get the number of topics for a given namespace. I have tried the below ...
credential = ServicePrincipalCredentials(self._client_id, self._client_secret, tenant=self._tenant)
sb_client = ServiceBusManagementClient(credential, self._subscription)
...
topics = sb_client.topics.list_by_namespace(
resource_group_name=self._resource_group_name,
namespace_name=namespace
)
num_topics = 0
while topics.current_page:
num_topics += topics.current_page.count
topics.next
logging.info("num topics: %s", num_topics)
My "num_topics" consistently comes back with zero, despite the fact I have verified that my connection is being made (I can create a topic with the same connection) and I can see many topics for the given information in the Azure portal. I'm thinking I'm not using the API properly but am unsure where things are falling apart. How do I get the number of topics for a given namespace?
If you want to get the number of the topics for a given service bus namespace, you could use the code below.
Check the topics in the portal, the result is correct:
Update:
If you don't want to use the loop, you could convert the
topics
to a list, then use thelen()
function.