Provisionar dinamicamente namespaces e entidades do Service Bus

O Barramento de Serviço do Azure fornece bibliotecas para ajudar a provisionar dinamicamente namespaces e entidades do Barramento de Serviço. Isso permite implantações complexas e cenários de mensagens e torna possível determinar programaticamente quais entidades provisionar.

Descrição geral

Há duas abordagens que você pode adotar para gerenciar recursos do Barramento de Serviço do Azure programaticamente. 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 da ID do Microsoft Entra, mas não por meio de cadeias de conexão. A segunda abordagem é aproveitar as mesmas bibliotecas de cliente do Service Bus que você usa para enviar e receber mensagens. As bibliotecas de cliente também fornecem APIs para ajudá-lo a gerenciar filas, tópicos, assinaturas e regras em um namespace existente . Eles têm suporte para autenticação com cadeias de conexão. Ao decidir qual abordagem adotar, considere o seguinte.

As bibliotecas baseadas no Azure Resource Manager oferecem a mesma funcionalidade que o portal do Azure, CLI e PowerShell quando se trata de gerenciar namespaces e entidades do Service Bus, como filas, tópicos, assinaturas etc. Se você tem usado o portal do Azure, CLI ou PowerShell para suas operações de gerenciamento e gostaria de uma maneira dinâmica de fazer isso, essas bibliotecas podem ser uma escolha melhor para você.

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

Gerenciar usando bibliotecas baseadas no Azure Resource Manager

As bibliotecas baseadas no Azure Resource Manager permitem que você gerencie namespaces, filas, tópicos, assinaturas, regras e políticas SAS. Eles suportam autenticação apenas com Microsoft Entra ID, eles não suportam cadeias de conexão.

Idioma Pacote Documentação Amostras
.NET Azure.ResourceManager.ServiceBus Referência de API para Microsoft.Azure.Management.ServiceBus .NET
Java azure-resourcemanager-servicebus Referência da 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 .NET e Java fluentes

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

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

Gerenciar usando bibliotecas de cliente do Service Bus

As bibliotecas de cliente do Service Bus que são usadas para operações como enviar e receber mensagens também podem ser usadas para gerenciar filas, tópicos, assinaturas e regras em um namespace existente do Service Bus. Esta funcionalidade está disponível através das bibliotecas mais recentes e através das ServiceBusAdministrationClient ServiceBusManagementClient bibliotecas mais antigas. É altamente recomendável que você use as bibliotecas mais recentes.

Bibliotecas mais recentes do Service Bus

Idioma Pacote Documentação Amostras
.NET Azure.Messaging.ServiceBus ServiceBusAdministrationClient .NET
Java azure-messaging-servicebus ServiceBusAdministrationAsyncClient, ServiceBusAdministrationClient Java
JavaScript @azure/barramento de serviço ServiceBusAdministrationClient JavaScript/TypeScript
Python Azure-ServiceBus ServiceBusAdministrationClient Python

Bibliotecas herdadas do Service Bus

Idioma Pacote Documentação Amostras
.NET Microsoft.Azure.ServiceBus GestãoCliente .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, para que você não possa mais usar esse protocolo 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, consulte o anúncio de aposentadoria de suporte.

Próximos passos

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