다음을 통해 공유


Azure Resource Manager 템플릿을 사용하여 토픽, 구독 및 규칙이 있는 Service Bus 네임스페이스 만들기

이 문서에서는 토픽, 구독 및 규칙(필터)이 있는 Service Bus 네임스페이스를 만드는 Azure Resource Manager 템플릿을 사용하는 방법을 보여 줍니다. 이 문서는 어떤 리소스를 배포할지 지정하는 방법 및 배포를 실행할 때 지정되는 매개 변수를 정의하는 방법을 설명합니다. 자체 배포를 위해 이 템플릿을 사용하거나 요구 사항에 맞게 사용자 지정할 수 있습니다.

템플릿을 만드는 더 자세한 내용은 Azure Resource Manager 템플릿 작성하기를 참조하십시오.

Azure 리소스 명명 규칙의 사례 및 패턴에 대한 자세한 내용은 Azure 리소스에 대한 권장되는 명명 규칙을 참조하세요.

전체 템플릿은 토픽, 구독 및 규칙이 있는 Service Bus 네임스페이스 템플릿을 참조하세요.

참고 항목

다음 Azure Resource Manager 템플릿은 다운로드하여 배포할 수 있습니다.

최신 템플릿을 확인하려면 Service Bus에 대한 Azure 빠른 시작 템플릿 갤러리 및 검색을 방문하세요.

배포할 항목

이 템플릿을 사용하여 토픽, 구독 및 규칙(필터)이 있는 Service Bus 네임스페이스를 배포합니다.

Service Bus 토픽 및 구독게시/구독 패턴으로 일 대 다 형태의 통신을 제공합니다. 토픽 및 구독을 사용하는 경우, 분산된 애플리케이션의 구성 요소는 서로 직접 통신하지 않으며 대신 중간 단계로 사용되는 토픽을 통해 메시지를 교환합니다. 토픽 구독은 토픽에 전송된 메시지의 복사본을 받는 가상 큐와 유사합니다. 구독에서 필터를 사용하여 토픽에 전송된 메시지 중 특정 토픽 구독 내에 표시되어야 하는 메시지를 지정할 수 있습니다.

규칙(필터)란?

대부분의 시나리오에서 특정 특성을 가진 메시지를 다른 방법으로 처리해야 합니다. 사용자 지정 프로세스를 사용하도록 설정하려면 구독을 구성하여 특정 속성을 갖는 메시지를 찾은 다음 해당 속성에 수정 작업을 수행하도록 구독을 구성합니다. Service Bus 구독이 토픽으로 전송된 모든 메시지를 확인하지만 가상 구독 큐로 이러한 메시지의 하위 집합을 복사할 수 있습니다. 구독 필터를 사용하여 이 복사 작업을 수행합니다. 규칙(필터)에 대한 자세한 내용은 규칙 및 작업을 참조하세요.

배포를 자동으로 실행하려면 다음 단추를 클릭합니다.

Deploy to Azure

매개 변수

Azure Resource Manager를 사용하여 템플릿 배포 시에 지정하려는 값의 매개 변수를 정의합니다. 템플릿은 모든 매개 변수 값이 포함된 Parameters 라는 섹션을 포함합니다. 배포하는 프로젝트나 배포 대상 환경에 따라 달라지는 이러한 값에 대한 매개 변수를 정의합니다. 항상 동일하게 유지되는 값으로 매개 변수를 정의하지 마십시오. 각 매개 변수 값은 배포되는 리소스를 정의하는 템플릿에 사용됩니다.

템플릿은 다음 매개 변수를 정의합니다.

serviceBusNamespaceName

만들 Service Bus 네임스페이스 이름입니다.

"serviceBusNamespaceName": {
"type": "string"
}

serviceBusTopicName

Service Bus 네임스페이스에서 만든 토픽의 이름입니다.

"serviceBusTopicName": {
"type": "string"
}

serviceBusSubscriptionName

Service Bus 네임스페이스에서 만든 구독의 이름입니다.

"serviceBusSubscriptionName": {
"type": "string"
}

serviceBusRuleName

Service Bus 네임스페이스에서 만든 규칙(필터)의 이름입니다.

   "serviceBusRuleName": {
   "type": "string",
  }

serviceBusApiVersion

템플릿의 Service Bus API 버전입니다.

"serviceBusApiVersion": {
       "type": "string",
       "defaultValue": "2017-04-01",
       "metadata": {
           "description": "Service Bus ApiVersion used by the template"
       }

배포할 리소스

토픽, 구독 및 규칙이 있는 메시징 형식의 표준 Service Bus 네임스페이스를 만듭니다.

 "resources": [{
        "apiVersion": "[variables('sbVersion')]",
        "name": "[parameters('serviceBusNamespaceName')]",
        "type": "Microsoft.ServiceBus/Namespaces",
        "location": "[variables('location')]",
        "sku": {
            "name": "Standard",
        },
        "resources": [{
            "apiVersion": "[variables('sbVersion')]",
            "name": "[parameters('serviceBusTopicName')]",
            "type": "Topics",
            "dependsOn": [
                "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
            ],
            "properties": {
                "path": "[parameters('serviceBusTopicName')]"
            },
            "resources": [{
                "apiVersion": "[variables('sbVersion')]",
                "name": "[parameters('serviceBusSubscriptionName')]",
                "type": "Subscriptions",
                "dependsOn": [
                    "[parameters('serviceBusTopicName')]"
                ],
                "properties": {},
                "resources": [{
                    "apiVersion": "[variables('sbVersion')]",
                    "name": "[parameters('serviceBusRuleName')]",
                    "type": "Rules",
                    "dependsOn": [
                        "[parameters('serviceBusSubscriptionName')]"
                    ],
                    "properties": {
                        "filterType": "SqlFilter",
                        "sqlFilter": {
                            "sqlExpression": "StoreName = 'Store1'",
                            "requiresPreprocessing": "false"
                        },
                        "action": {
                            "sqlExpression": "set FilterTag = 'true'"
                        }
                    }
                }]
            }]
        }]
    }]

JSON 구문 및 속성의 경우 네임스페이스, 항목, 구독규칙을 참조하세요.

배포 실행 명령

리소스를 Azure에 배포하려면 Azure 계정에 로그인하여 Azure Resource Manager 모듈을 사용해야 합니다. Azure PowerShell 또는 Azure CLI과 함께 Azure 리소스 관리자를 사용하는 방법을 알아보려면 참조하십시오.

다음 예제에서는 지정된 이름을 가진 계정에 리소스 그룹을 이미 보유했다고 가정합니다.

PowerShell

New-AzureResourceGroupDeployment -Name \<deployment-name\> -ResourceGroupName \<resource-group-name\> -TemplateUri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-topic-subscription-rule/azuredeploy.json>

Azure CLI

az deployment group create -g \<my-resource-group\> --template-uri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-topic-subscription-rule/azuredeploy.json>

다음 단계

다음 문서를 검토하여 이러한 리소스를 관리하는 방법을 알아보세요.