在Azure的Python服务总线SDK中,如何查询命名空间的共享访问策略?

In Azure's Python service bus SDK, how do I query the shared access policies of a namespace?

我正在使用 Python 3.8 和 Azure 的服务总线 SDK (azure-servicebus==0.50.3)。目前,我可以使用下面的代码为命名空间

中的特定主题获取共享访问策略规则(和 key/value)
from azure.mgmt.servicebus import ServiceBusManagementClient
...
    self._sb_client = ServiceBusManagementClient(credential, subscription)
    ...
        rule = self._sb_client.topics.list_keys(
            self._resource_group_name,
            self._namespace,
            self._topic_name,
            SB_SAS_POLICY_LISTEN
        )

如何使逻辑更通用一些,以便我可以在命名空间级别查询策略?我们有一个根共享访问策略,我想看看是否有一种编程方式来获取与上述类似的规则。我试过排除主题参数,但我无法要求它。

啊哈。您似乎专门将 azure-mgmt-servicebus 用于您正在利用的工具,这完全正确,并且具有您正在寻找的功能:

命名空间和给定主题上存在一个可比较的 list_keys 方法,将通过 client.namespaces.list_keys(.

调用

如果我有误解或有任何不清楚的地方,请不要犹豫,大声说出来。