Service Bus 네임스페이스 및 엔터티를 동적으로 프로비저닝

Azure Service Bus는 Service Bus 네임스페이스 및 엔터티를 동적으로 프로비저닝하는 데 도움이 되는 라이브러리를 제공합니다. 따라서 복잡한 배포 및 메시지 시나리오를 사용할 수 있고 프로비저닝할 엔터티를 프로그래밍 방식으로 결정할 수 있습니다.

개요

Azure Service Bus 리소스를 프로그래밍 방식으로 관리하려면 두 가지 방법을 사용할 수 있습니다. 첫 번째는 네임스페이스, 큐, 토픽, 구독, 규칙 및 SAS 정책을 관리할 수 있는 Azure Resource Manager 기반 라이브러리를 사용하는 것입니다. Azure Resource Manager 기반 라이브러리는 연결 문자열이 아닌 Microsoft Entra ID를 통한 인증을 지원합니다. 두 번째 방법은 메시지를 보내고 받는 데 사용하는 것과 동일한 Service Bus 클라이언트 라이브러리를 활용하는 것입니다. 또한 클라이언트 라이브러리는 ‘기존’ 네임스페이스에서 큐, 토픽, 구독, 규칙을 관리하는 데 도움이 되는 API를 제공합니다. 이러한 라이브러리는 연결 문자열을 사용한 인증을 지원합니다. 사용할 방법을 결정할 때는 다음 사항을 고려하세요.

Azure Resource Manager 기반 라이브러리는 큐, 토픽, 구독 등의 Service Bus 네임스페이스 및 엔터티를 관리할 때 Azure Portal, CLI 및 PowerShell과 동일한 기능을 제공합니다. 관리 작업에 Azure Portal, CLI 또는 PowerShell을 사용하고 있고 동적 관리 방법을 원하는 경우에는 이러한 라이브러리를 선택하는 것이 더 적합합니다.

그러나 메시지 보내기 및 받기와 같은 서비스 관련 작업에 Service Bus 클라이언트 라이브러리를 이미 사용하고 있고 Service Bus 엔터티도 관리해야 하는 경우에는 동일한 라이브러리를 사용하는 것이 더 편리할 수 있습니다. 클라이언트 라이브러리에는 Azure Resource Manager 기반 라이브러리에서 제공하는 관리 기능의 하위 집합을 제공하는 ServiceBusAdministrationClient(이전 라이브러리의 ServiceBusManagementClient)가 있습니다. Azure Resource Manager 기반 라이브러리를 사용하면 Service Bus 네임스페이스와 엔터티를 모두 관리할 수 있지만 클라이언트 라이브러리를 사용하면 기존 네임스페이스의 엔터티만 관리할 수 있고 네임스페이스 자체는 관리할 수 ‘없다’는 점을 강조해야 합니다.

Azure Resource Manager 기반 라이브러리를 사용하여 관리

Azure Resource Manager 기반 라이브러리를 사용하면 네임스페이스, 큐, 토픽, 구독, 규칙 및 SAS 정책을 관리할 수 있습니다. 이 라이브러리는 Microsoft Entra ID를 사용한 인증 지원하고 연결 문자열은 지원하지 않습니다.

언어 패키지 설명서 샘플
.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 버전이 있습니다.

언어 패키지 설명서
.NET Microsoft.Azure.Management.ServiceBus.Fluent Microsoft.Azure.Management.ServiceBus.Fluent에 대한 API 참조
Java azure-resourcemanager-servicebus com.azure.resourcemanager.servicebus.fluent에 대한 API 참조

Service Bus 클라이언트 라이브러리를 사용하여 관리

메시지 보내기 및 받기와 같은 작업에 사용되는 Service Bus 클라이언트 라이브러리를 사용하여 ‘기존’ Service Bus 네임스페이스에서 큐, 토픽, 구독 및 규칙을 관리할 수도 있습니다. 이 기능은 최신 라이브러리의 ServiceBusAdministrationClient와 이전 라이브러리의 ServiceBusManagementClient를 통해서 사용할 수 있습니다. 최신 라이브러리를 사용하는 것이 좋습니다.

최신 Service Bus 라이브러리

언어 패키지 설명서 샘플
.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

레거시 Service Bus 라이브러리

언어 패키지 설명서 샘플
.NET Microsoft.Azure.ServiceBus ManagementClient .NET
Java azure-mgmt-servicebus ManagementClientAsync, ManagementClient Java

2026년 9월 30일에 Azure SDK 지침을 따르지 않는 Azure Service Bus SDK 라이브러리 WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus 및 com.microsoft.azure.servicebus를 사용 중지합니다. 또한 SBMP 프로토콜에 대한 지원이 종료되므로 2026년 9월 30일 이후에는 더 이상 이 프로토콜을 사용할 수 없습니다. 해당 날짜 마이그레이션에 중요한 보안 업데이트와 개선된 기능을 제공하는 최신 Azure SDK 라이브러리로 마이그레이션합니다.

이전 라이브러리는 2026년 9월 30일 이후에도 계속 사용할 수 있지만 더 이상 Microsoft로부터 공식 지원 및 업데이트를 받을 수 없습니다. 자세한 내용은 사용 중지 공지 지원을 참조하세요.

다음 단계

  • 최신 Service Bus 라이브러리를 사용하여 큐에서 메시지를 보내고 받기: .NET, Java, JavaScript, Python
  • 최신 Service Bus 라이브러리를 사용하여 토픽에 메시지를 보내고 구독에서 메시지 받기: .NET, Java, JavaScript, Python