Azure Resource Manager şablonu kullanarak konu başlığı, abonelik ve kural ile Service Bus ad alanı oluşturma

Bu makalede bir konu başlığı, abonelik ve kural (filtre) ile Service Bus ad alanı oluşturan bir Azure Resource Manager şablonunun nasıl kullanılacağı gösterilmektedir. Makalede dağıtılacak kaynakların nasıl belirtildiği ve dağıtım yürütürken belirtilen parametrelerin nasıl tanımlanacağı açıklanır. Bu şablonu kendi dağıtımlarınız için kullanabilir veya kendi gereksinimlerinize göre özelleştirebilirsiniz

Şablon oluşturma hakkında daha fazla bilgi için bkz. Azure Resource Manager şablonları yazma.

Azure kaynakları adlandırma kurallarıyla ilgili uygulama ve desenler hakkında daha fazla bilgi için bkz. Azure kaynakları için önerilen adlandırma kuralları.

Şablonun tamamı için konu başlığı, abonelik ve kural şablonu içeren Service Bus ad alanına bakın.

Not

Aşağıdaki Azure Resource Manager şablonları indirilebilir ve dağıtılır.

En son şablonları denetlemek için Azure Hızlı Başlangıç Şablonları galerisini ziyaret edin ve Service Bus'ı arayın.

Ne dağıtacaksınız?

Bu şablonla, konu başlığı, abonelik ve kural (filtre) ile bir Service Bus ad alanı dağıtırsınız.

Service Bus konuları ve abonelikleri , yayımlama/abone olma düzeninde bire çok iletişim biçimi sağlar. Konuları ve abonelikleri kullanırken, dağıtılmış bir uygulamanın bileşenleri birbirleriyle doğrudan iletişim kurmaz, bunun yerine aracı işlevi gören konu aracılığıyla ileti alışverişi yapar. Bir konuya abonelik, konuya gönderilen iletilerin kopyalarını alan bir sanal kuyruğa benzer. Abonelik filtresi, belirli bir konu aboneliğinde bir konuya gönderilen hangi iletilerin görüneceğini belirtmenizi sağlar.

Kurallar (filtreler) nedir?

Birçok senaryoda, belirli özelliklere sahip iletiler farklı şekillerde işlenmelidir. Bu özel işlemeyi etkinleştirmek için abonelikleri belirli özelliklere sahip iletileri bulacak şekilde yapılandırabilir ve ardından bu özelliklerde değişiklikler yapabilirsiniz. Service Bus abonelikleri konuya gönderilen tüm iletileri görse de, bu iletilerin yalnızca bir alt kümesini sanal abonelik kuyruğuna kopyalayabilirsiniz. Abonelik filtreleri kullanılarak gerçekleştirilir. Kurallar (filtreler) hakkında daha fazla bilgi edinmek için bkz. Kurallar ve eylemler.

Dağıtımı otomatik olarak çalıştırmak için aşağıdaki düğmeye tıklayın:

Azure’a dağıtın

Parametreler

Azure Resource Manager ile, şablon dağıtılırken belirtmek istediğiniz değerler için parametreler tanımlayın. Şablon, tüm parametre değerlerini içeren Parameters adlı bir bölüm içerir. Dağıttığınız projeye veya dağıttığınız ortama göre değişen değerler için bir parametre tanımlayın. Her zaman aynı kalan değerler için parametre tanımlamayın. Her parametre değeri, dağıtılan kaynakları tanımlamak için şablonda kullanılır.

Şablon aşağıdaki parametreleri tanımlar:

serviceBusNamespaceName

Oluşturulacak Service Bus ad alanının adı.

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

serviceBusTopicName

Service Bus ad alanında oluşturulan konunun adı.

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

serviceBusSubscriptionName

Service Bus ad alanında oluşturulan aboneliğin adı.

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

serviceBusRuleName

Service Bus ad alanında oluşturulan kuralın (filtre) adı.

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

serviceBusApiVersion

Şablonun Service Bus API sürümü.

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

Dağıtılacak kaynaklar

Konu, abonelik ve kurallarla Mesajlaşma türünde standart bir Service Bus ad alanı oluşturur.

 "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 söz dizimi ve özellikleri için bkz. ad alanları, konular, abonelikler ve kurallar.

Dağıtımı çalıştırma komutları

Kaynakları Azure’da dağıtmak için, Azure hesabınızda oturum açmış olmanız ve Azure Resource Manager modülünü kullanıyor olmanız gerekir. Azure Resource Manager’ı Azure PowerShell veya Azure CLI ile kullanmayı öğrenmek için bkz:

Aşağıdaki örnekler, hesabınızda belirtilen adlara sahip bir kaynak grubunun olduğunu varsaymaktadır.

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>

Sonraki adımlar

Bu makaleleri görüntüleyerek bu kaynakları yönetmeyi öğrenin: