Azure 服务总线提供库来帮助动态创建服务总线命名空间和实体。 它支持复杂的部署和消息传送方案,并使它能够以编程方式确定要创建的实体。
概述
可以采用两种方法以编程方式管理 Azure 服务总线资源。 第一种是使用基于 Azure 资源管理器的库,这些库允许用户管理命名空间、队列、主题、订阅、规则和 SAS 策略。 基于 Azure 资源管理器的库支持通过 Microsoft Entra ID 进行身份验证,但不支持通过连接字符串进行身份验证。 第二种方法是使用用于发送和接收消息的相同服务总线客户端库。 客户端库还提供 API 来帮助管理现有命名空间中的队列、主题、订阅和规则。 它们支持使用连接字符串进行身份验证。 在决定采用哪种方法时,请考虑以下几点。
在管理服务总线命名空间和实体(如队列、主题和订阅等)方面,基于 Azure 资源管理器的库提供与 Azure 门户、CLI 和 PowerShell 相同的功能。如果你一直使用 Azure 门户、CLI 或 PowerShell 进行管理操作,并且想要以动态方式执行该操作,则这些库可能是更好的选择。
如果你已经在用 服务总线 客户端库来发送和接收消息,可以用它的ServiceBusAdministrationClient来管理同一应用中的实体。 该客户端管理现有命名空间中的队列、主题、订阅和规则。 使用基于 Azure 资源管理器 的库来管理命名空间本身。
使用基于 Azure 资源管理器的库进行管理
基于 Azure 资源管理器的库允许管理命名空间、队列、主题、订阅、规则和 SAS 策略。 它们 仅支持使用 Microsoft Entra ID 进行身份验证;它们不支持连接字符串。
Fluent .NET 和 Java 库
有一个基于 Azure 资源管理器的库的 Fluent 版本。
使用服务总线客户端库进行管理
服务总线客户端库提供一个ServiceBusAdministrationClient客户端,用于管理现有服务总线命名空间中的队列、主题、订阅和规则。
最新的服务总线库
后续步骤
- 使用最新的服务总线库向队列发送消息并从队列接收消息:.NET、Java、JavaScript、Python
- 使用最新的服务总线库向主题发送消息并从订阅接收消息:.NET、Java、JavaScript、Python