Provisionar dinamicamente namespaces e entidades do Barramento de Serviço do Azure

O Barramento de Serviço do Azure fornece bibliotecas para ajudar no provisionamento dinâmico dos namespaces e das entidades dele. Isso permite implantações complexas e cenários de mensagens, e torna possível determinar programaticamente quais entidades provisionar.

Visão geral

Há duas abordagens para gerenciar recursos do Barramento de Serviço do Azure de forma programática. A primeira é usar as bibliotecas baseadas no Azure Resource Manager, que permitem gerenciar namespaces, filas, tópicos, assinaturas, regras e políticas SAS. As bibliotecas baseadas no Azure Resource Manager têm suporte para autenticação por meio do Microsoft Entra ID, mas não por meio de cadeias de conexão. A segunda abordagem consiste em utilizar as mesmas bibliotecas de clientes do Barramento de Serviço usadas para enviar e receber mensagens. As bibliotecas de clientes também fornecem APIs para ajudar você a gerenciar filas, tópicos, assinaturas e regras em um namespace existente. Elas têm suporte para autenticação com cadeias de conexão. Ao decidir qual abordagem seguir, considere o seguinte.

As bibliotecas baseadas no Azure Resource Manager oferecem a mesma funcionalidade do portal do Azure, da CLI e do PowerShell quanto ao gerenciamento de entidades e namespaces do Barramento de Serviço, como filas, tópicos, assinaturas etc. Se você usa o portal do Azure, a CLI ou o PowerShell para suas operações de gerenciamento e quer fazer isso de maneira dinâmica, essas bibliotecas podem ser uma escolha melhor para você.

No entanto, se você já está usando uma biblioteca de clientes do Barramento de Serviço para operações específicas do serviço, como enviar e receber mensagens, e também precisa gerenciar entidades do Barramento de Serviço, pode ser mais conveniente usar a mesma biblioteca. As bibliotecas de clientes têm um ServiceBusAdministrationClient (chamado de ServiceBusManagementClient nas bibliotecas mais antigas) que fornece um subconjunto dos recursos de gerenciamento fornecidos pelas bibliotecas baseadas no Azure Resource Manager. Lembre-se de que, embora as bibliotecas baseadas no Azure Resource Manager permitam gerenciar namespaces e entidades do Barramento de Serviço, as bibliotecas de clientes só permitem o gerenciamento de entidades em um namespace existente, mas não do próprio namespace.

Gerenciamento com bibliotecas baseadas no Azure Resource Manager

As bibliotecas baseadas no Azure Resource Manager permitem gerenciar namespaces, filas, tópicos, assinaturas, regras e políticas SAS. Elas dão suporte à autenticação somente com o Microsoft Entra ID; elas não dão suporte a cadeias de conexão.

Idioma Pacote Documentação Exemplos
.NET Azure.ResourceManager.ServiceBus Referência de API para Microsoft.Azure.Management.ServiceBus .NET
Java azure-resourcemanager-servicebus Referência de API para com.azure.resourcemanager.servicebus Java
JavaScript @azure/arm-servicebus API reference for @azure/arm-servicebus
Python azure-mgmt-servicebus Referência de API para azure-mgmt-servicebus

Bibliotecas Fluent de .NET e Java

Há uma versão Fluent das bibliotecas baseadas no Azure Resource Manager.

Linguagem Pacote Documentação
.NET Microsoft.Azure.Management.ServiceBus.Fluent Referência de API para Microsoft.Azure.Management.ServiceBus.Fluent
Java azure-resourcemanager-servicebus Referência de API para com.azure.resourcemanager.servicebus.fluent

Gerenciamento com bibliotecas de clientes do Barramento de Serviço

As bibliotecas de clientes do Barramento de Serviço usadas para operações como o envio e o recebimento de mensagens também podem ser usadas para gerenciar filas, tópicos, assinaturas e regras em um namespace existente do Barramento de Serviço. Este recurso está disponível por meio do ServiceBusAdministrationClient em bibliotecas mais recentes e por meio do ServiceBusManagementClient em bibliotecas mais antigas. É altamente recomendado usar as bibliotecas mais recentes.

Bibliotecas mais recentes do Barramento de Serviço

Linguagem Pacote Documentação Exemplos
.NET Azure.Messaging.ServiceBus ServiceBusAdministrationClient .NET
Java azure-messaging-servicebus ServiceBusAdministrationAsyncClient, ServiceBusAdministrationClient Java
JavaScript @azure/service-bus ServiceBusAdministrationClient JavaScript/TypeScript
Python azure-servicebus ServiceBusAdministrationClient Python

Bibliotecas mais antigas do Barramento de Serviço

Linguagem Pacote Documentação Exemplos
.NET Microsoft.Azure.ServiceBus ManagementClient .NET
Java azure-mgmt-servicebus ManagementClientAsync, ManagementClient Java

Em 30 de setembro de 2026, desativaremos as bibliotecas do SDK do Barramento de Serviço do Azure WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, que não estão em conformidade com as diretrizes do SDK do Azure. Também encerraremos o suporte ao protocolo SBMP, portanto, ele não poderá mais ser usado após 30 de setembro de 2026. Migre para as bibliotecas mais recentes do SDK do Azure, que oferecem atualizações de segurança críticas e recursos aprimorados, antes dessa data.

Embora as bibliotecas mais antigas ainda possam ser usadas após 30 de setembro de 2026, elas não receberão mais suporte e atualizações oficiais da Microsoft. Para obter mais informações, confira o anúncio de desativação do suporte.

Próximas etapas

  • Envie e receba mensagens da fila usando a biblioteca mais recente do Barramento de Serviço: .NET, Java, JavaScript, Python
  • Envie mensagens para o tópico e receba mensagens da assinatura usando a biblioteca mais recente do Barramento de Serviço: .NET, Java, JavaScript, Python