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ı indirme ve dağıtım için kullanılabilir.
- Kuyruk ve yetkilendirme kuralıyla bir Service Bus ad alanı oluşturma
- Service Bus ad alanı ve kuyruğu oluşturma
- Service Bus ad alanı oluşturma
- Konu ve abonelikle bir Service Bus ad alanı oluşturma
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ğıtacaksı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ı görevi gören konu aracılığıyla ileti alışverişi yapar. Konu başlığı aboneliği, konuya gönderilen iletilerin kopyalarını alan sanal kuyruğa benzer. Abonelik filtresi, bir konuya gönderilen iletilerin belirli bir konu aboneliğinde görüntülenmesini 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:
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:
- Azure PowerShell kullanarak Azure kaynaklarını yönetme
- Azure CLI kullanarak Azure kaynaklarını yönetme.
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: