微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Azure Python SDK中,是否可以生成特定于ServiceBus主题的SAS令牌?

如何解决在Azure Python SDK中,是否可以生成特定于ServiceBus主题的SAS令牌?

我正在使用Python 3.8和azure-servicebus v0.50.3。我想为我创建的每个主题生成一个只读SAS令牌。到目前为止,我已经弄清楚了我可以像这样创建主题...

sbs = ServiceBusService(service_namespace,shared_access_key_name=key_name,shared_access_key_value=key_value)
...

sbs.create_topic(name)

但是,我不清楚如何(或什至有可能)使用现有API为我创建的每个主题生成SAS令牌。在线文档似乎暗示这是不可能的,但以为我还是会问。

解决方法

好消息和坏消息。虽然肯定有按主题生成SAS令牌的方法,但我不相信您将能够使用所使用的API来做到这一点。通过control_client提供的ServiceBusService基本上是我们的“双重遗产” SDK,并且已经过时且已被弃用。

也就是说,我将向您介绍我们当前的azure-mgmt-servicebus软件包。有了它,您可以以类似的方式create topics,但是对您的目的而言更重要的是,您可以create an authorization rule(您可能只希望授予它Listener的权利),然后{{3} },以便在需要时以编程方式利用它们。

说实话,我不确定您是否通俗地将SAS密钥称为令牌(坦率地说,我经常翻转命名),以便涵盖我的所有基础知识,在下面我还将详细介绍如何旋转密钥到临时令牌中,但如果不需要此令牌,则可以跳过下一段。

虽然没有官方的内置实用程序可通过SAS密钥生成SAS令牌,但希望这是一种可行的方法,但让我提供一些access the topic's keys的痕迹。 (这演示了如何使用SAS密钥生成并通过SAS令牌对我们即将发布的GA版本进行身份验证,您可以根据需要使用任意数量的密钥,但是用于您目的的密钥为{{ 1}})

如果需要任何澄清,或者如果我误解了您的问题,请不要犹豫,如果将来遇到任何问题,我也要提到here。 (完全免责声明,是此SDK的维护者)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。