Azure Service Bus 큐 및 구독에 대해 자동 전달을 사용하도록 설정
Service Bus 자동 전달 기능을 통해 동일한 네임스페이스의 일부인 다른 큐 또는 토픽에 큐 또는 구독을 연결할 수 있습니다. 자동 전달을 사용하도록 설정하면 Service Bus가 자동으로 첫 번째 큐 또는 구독(원본)에 있는 메시지를 제거하고 두 번째 큐 또는 토픽(대상)에 넣습니다. 대상 엔터티에 직접 메시지를 보내는 것은 여전히 가능합니다. 자세한 내용은 자동 전달을 사용한 Service Bus 엔터티 연결을 참조하세요. 이 문서에서는 Service Bus 큐 및 구독에 대해 자동 전달을 사용하도록 설정하는 다양한 방법을 보여 줍니다.
Important
Service Bus의 기본 계층은 자동 전달 기능을 지원하지 않습니다. 표준 및 프리미엄 계층은 이 기능을 지원합니다. 이러한 계층 간의 차이점은 Service Bus 가격 책정을 참조하세요.
Azure Portal 사용
Azure Portal의 토픽에 대해 큐 또는 구독을 만들 때 다음 예에서 보는 것처럼 큐/토픽으로 메시지 전달을 선택합니다. 그런 다음 메시지를 큐 또는 토픽으로 전달할 것인지 지정합니다. 이 예제에서는 큐 옵션이 선택되고 동일한 네임스페이스에서 큐가 선택됩니다.
자동 전달이 사용하도록 설정된 큐 만들기
자동 전달이 사용하도록 설정된 토픽에 대해 구독 만들기
기존 큐에 대한 자동 전달 설정 업데이트
Service Bus 큐의 개요 페이지에서 메시지 전달 대상 설정의 현재 값을 선택합니다. 다음 예에서 현재 값은 사용 안 함입니다. 큐/토픽에 메시지 전달 창에서 메시지를 전달할 큐 또는 토픽을 선택할 수 있습니다.
기존 구독에 대한 자동 전달 설정 업데이트
Service Bus 구독의 개요 페이지에서 메시지 전달 대상 설정의 현재 값을 선택합니다. 다음 예에서 현재 값은 사용 안 함입니다. 큐/토픽에 메시지 전달 창에서 메시지를 전달할 큐 또는 토픽을 선택할 수 있습니다.
Azure CLI 사용
자동 전달이 사용하도록 설정된 큐를 만들려면 --forward-to
를 메시지가 전달되기를 원하는 큐 또는 토픽의 이름으로 설정한 az servicebus queue create
명령을 사용합니다.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
기존 큐에 대한 자동 전달 설정을 업데이트하려면 --forward-to
가 메시지를 전달하려는 큐 또는 토픽의 이름으로 설정된 az servicebus queue update
명령을 사용합니다.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--forward-to myqueue2
자동 전달이 사용하도록 설정된 토픽에 대한 구독을 만들려면 --forward-to
가 메시지를 전달하려는 큐 또는 토픽의 이름으로 설정된 az servicebus topic subscription create
명령을 사용합니다.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
토픽에 구독에 대한 자동 전달 설정을 업데이트하려면 --forward-to
가 메시지를 전달하려는 큐 또는 토픽의 이름으로 설정된 az servicebus topic subscription update
명령을 사용합니다.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--forward-to myqueue2
Azure PowerShell 사용
자동 전달이 사용하도록 설정된 큐를 만들려면 -ForwardTo
를 메시지가 전달되기를 원하는 큐 또는 토픽의 이름으로 설정한 New-AzServiceBusQueue
명령을 사용합니다.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
기존 큐에 대한 자동 전달 설정을 업데이트하려면 다음 예제와 같이 Set-AzServiceBusQueue
명령을 사용합니다.
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name myqueue `
-ForwardTo myqueue2
자동 전달이 사용하도록 설정된 토픽에 대해 구독을 만들려면 -ForwardTo
를 메시지가 전달되기를 원하는 큐 또는 토픽의 이름으로 설정한 New-AzServiceBusSubscription
명령을 사용합니다.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysubscription `
-ForwardTo myqueue2
기존 구독에 대한 자동 전달 설정을 업데이트하려면 다음 예제를 참조하세요.
Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-Name mysub `
-ForwardTo mytopic2
Azure Resource Manager 템플릿 사용
자동 전달이 사용하도록 설정된 큐를 만들려면 큐 속성 섹션의 forwardTo
를 메시지가 전달되기를 원하는 큐 또는 토픽의 이름으로 설정합니다. 자세한 내용은 Microsoft.ServiceBus namespaces/queues 템플릿 참조를 참조하세요.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"type": "Queues",
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"forwardTo": "myqueue2"
}
}
]
}
]
}
자동 전달이 사용하도록 설정된 큐에 대해 구독을 만들려면 큐 속성 섹션의 forwardTo
를 메시지가 전달되기를 원하는 큐 또는 토픽의 이름으로 설정합니다. 자세한 정보는 Microsoft.ServiceBus 네임스페이스/토픽/구독 템플릿 참조에서 알아보세요.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"service_BusNamespace_Name": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusTopicName": {
"type": "string",
"metadata": {
"description": "Name of the Topic"
}
},
"serviceBusSubscriptionName": {
"type": "string",
"metadata": {
"description": "Name of the Subscription"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('service_BusNamespace_Name')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusTopicName')]",
"type": "topics",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
],
"properties": {
"maxSizeInMegabytes": 1024
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusSubscriptionName')]",
"type": "Subscriptions",
"dependsOn": [
"[parameters('serviceBusTopicName')]"
],
"properties": {
"forwardTo": "myqueue2"
}
}
]
}
]
}
]
}
.NET
Azure.Messaging.ServiceBus(최신)
CreateQueueOptions.ForwardTo 또는 CreateSubscriptionOptions.ForwardTo를 설정한 다음, CreateQueueOptions
또는 CreateSubscriptionOptions
매개 변수를 사용하는 CreateQueueAsync 또는 CreateSubscriptionAsync 메서드를 사용하여 자동 전달 기능을 사용하도록 설정할 수 있습니다.
Microsoft.Azure.ServiceBus(레거시)
다음 예제와 같이 원본에 대해 QueueDescription.ForwardTo 또는 SubscriptionDescription.ForwardTo를 설정하여 자동 전달을 사용하도록 설정할 수 있습니다.
SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));
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로부터 공식 지원 및 업데이트를 받을 수 없습니다. 자세한 내용은 사용 중지 공지 지원을 참조하세요.
Java
azure-messaging-servicebus(최신)
CreateQueueOptions.setForwardTo(String forwardTo) 메서드 또는 CreateSubscriptionOptions.setForwardTo(String forwardTo)를 사용한 다음, CreateQueueOptions
또는 CreateSubscriptionOptions
매개 변수를 사용하는 createQueue 메서드 또는 createSubscription 메서드를 사용하여 자동 전달 기능을 사용하도록 설정할 수 있습니다.
azure-servicebus(레거시)
원본에 대해 QueueDescription.setForwardTo(String forwardTo) 또는 SubscriptionDescription.setForwardTo(String forwardTo)를 사용하여 자동 전달을 사용하도록 설정할 수 있습니다.
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로부터 공식 지원 및 업데이트를 받을 수 없습니다. 자세한 내용은 사용 중지 공지 지원을 참조하세요.
다음 단계
선택한 언어로 샘플을 사용하여 Azure Service Bus 기능을 살펴봅니다.
- .NET용 Azure Service Bus 클라이언트 라이브러리 샘플(최신)
- Java용 Azure Service Bus 클라이언트 라이브러리 샘플(최신)
- Python용 Azure Service Bus 클라이언트 라이브러리 샘플
- JavaScript용 Azure Service Bus 클라이언트 라이브러리 샘플
- TypeScript용 Azure Service Bus 클라이언트 라이브러리 샘플
이전 .NET 및 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로부터 공식 지원 및 업데이트를 받을 수 없습니다. 자세한 내용은 사용 중지 공지 지원을 참조하세요.