動態佈建服務匯流排命名空間和實體

Azure 服務匯流排提供的程式庫有助於動態佈建服務匯流排命名空間和實體。 這適合複雜的部署和傳訊案例,且可讓您以程式設計方式決定要佈建的實體。

概觀

有兩種方法可讓您以程式設計方式管理 Azure 服務匯流排資源。 第一個方法是使用以 Azure Resource Manager 為基礎的程式庫,此方法可讓您管理命名空間、佇列、主題、訂用帳戶、規則和 SAS 原則。 以 Azure Resource Manager 為基礎的程式庫支援透過 Microsoft Entra ID 進行驗證,但不支援透過連接字串進行驗證。 第二種方法是使用您用來傳送和接收訊息的相同服務匯流排用戶端程式庫。 用戶端程式庫也提供相關 API,可協助您管理現有命名空間中的佇列、主題、訂用帳戶和規則。 這些程式庫支援使用連接字串進行驗證。 選擇要採用的方法時,請考量下列事項。

Azure Resource Manager 型連結庫在管理服務總線命名空間和實體,例如佇列、主題、訂用帳戶等時,提供與 Azure 入口網站、CLI 和 PowerShell 相同的功能。如果您已針對管理作業使用 Azure 入口網站、CLI 或 PowerShell,而且想要進行這項操作的動態方式,這些連結庫可能是您更好的選擇。

不過,如果您已使用服務匯流排用戶端程式庫進行服務特定作業 (例如傳送和接收訊息),且您也需要管理服務匯流排實體,則使用相同的程式庫對您而言可能較方便。 用戶端程式庫具有 ServiceBusAdministrationClient (在舊版程式庫中名為 ServiceBusManagementClient),會提供以 Azure Resource Manager 為基礎的程式庫所提供的部分管理功能。 必須強調的是,以 Azure Resource Manager 為基礎的程式庫可讓您管理服務匯流排命名空間和實體,而用戶端程式庫則只能讓您管理現有命名空間中的實體 (而非命名空間本身)。

使用以 Azure Resource Manager 為基礎的程式庫進行管理

以 Azure Resource Manager 為基礎的程式庫可讓您管理命名空間、佇列、主題、訂用帳戶、規則和 SAS 原則。 它們支援使用 Microsoft Entra 識別碼進行驗證;不支援連接字串。

Language Package 文件 範例
.NET Azure.ResourceManager.ServiceBus Microsoft.Azure.Management.ServiceBus 的 API 參考 .NET
Java azure-resourcemanager-servicebus com.azure.resourcemanager.servicebus 的 API 參考 Java
JavaScript @azure/arm-servicebus API reference for @azure/arm-servicebus
Python azure-mgmt-servicebus azure-mgmt-servicebus 的 API 參考

Fluent .NET 和 Java 程式庫

以 Azure Resource Manager 為基礎的程式庫有 Fluent 版本。

Language Package 文件
.NET Microsoft.Azure.Management.ServiceBus.Fluent Microsoft.Azure.Management.ServiceBus.Fluent 的 API 參考
Java azure-resourcemanager-servicebus com.azure.resourcemanager.servicebus.fluent 的 API 參考

使用服務匯流排用戶端程式庫進行管理

用於傳送和接收訊息等作業的服務匯流排用戶端程式庫,也可以用來管理現有服務匯流排命名空間中的佇列、主題、訂用帳戶和規則。 這項功能可透過最新程式庫中的 ServiceBusAdministrationClient 和舊版程式庫中的 ServiceBusManagementClient 取得。 強烈建議您使用最新的程式庫。

最新的服務匯流排程式庫

Language Package 文件 範例
.NET Azure.Messaging.ServiceBus ServiceBusAdministrationClient .NET
Java azure-messaging-servicebus ServiceBusAdministrationAsyncClientServiceBusAdministrationClient Java
JavaScript @azure/service-bus ServiceBusAdministrationClient JavaScript/TypeScript
Python azure-servicebus ServiceBusAdministrationClient Python

舊版服務匯流排程式庫

Language Package 文件 範例
.NET Microsoft.Azure.ServiceBus ManagementClient .NET
Java azure-mgmt-servicebus ManagementClientAsyncManagementClient Java

在 2026 年 9 月 30 日,我們將淘汰不符合 Azure SDK 準則的 Azure 服務匯流排 SDK 程式庫 WindowsAzure.ServiceBus、Microsoft.Azure.ServiceBus 和 com.microsoft.azure.servicebus。 我們也將結束 SBMP 通訊協定的支援,因此您將無法在 2026 年 9 月 30 日之後再使用此通訊協定。 請在該日期之前移轉至最新的 Azure SDK 程式庫,該程式庫提供重要的安全性更新和改進的功能。

雖然較舊的程式庫仍可在 2026 年 9 月 30 日之後使用,但這些程式庫將無法繼續收到 Microsoft 的官方支援和更新。 如需詳細資訊,請參閱支援淘汰公告

下一步

  • 使用最新的服務匯流排程式庫將訊息傳送至佇列以及從中接收訊息:.NETJavaJavaScriptPython
  • 使用最新的服務匯流排程式庫將訊息傳送至主題以及從訂用帳戶接收訊息:.NETJavaJavaScriptPython