Bagikan melalui


Membuat namespace Service Bus dengan topik, langganan, dan aturan menggunakan templat Azure Resource Manager

Artikel ini menunjukkan cara menggunakan templat Azure Resource Manager yang membuat namespace Service Bus dengan topik, langganan, serta aturan (filter). Artikel ini menjelaskan cara menentukan sumber daya mana yang disebarkan dan cara menentukan parameter yang ditentukan saat penyebaran dilakukan. Anda dapat menggunakan templat ini untuk penyebaran Anda sendiri, atau menyesuaikannya sesuai kebutuhan Anda

Untuk informasi selengkapnya tentang membuat templat, lihat Penulisan templat Azure Resource Manager.

Untuk informasi selengkapnya tentang pola dan praktik untuk konvensi penamaan sumber daya Azure, lihat Konvensi penamaan yang disarankan untuk sumber daya Azure.

Untuk templat lengkap, lihat templat namespace Service Bus dengan topik, langganan, dan aturan.

Catatan

Templat Azure Resource Manager berikut ini tersedia untuk diunduh dan disebarkan.

Untuk memeriksa templat terbaru, kunjungi galeri Templat Mulai Cepat Azure dan cari Service Bus.

Apa yang Anda terapkan?

Dengan templat ini, Anda dapat menyebarkan namespace Service Bus dengan topik, langganan, dan aturan (filter).

Topik dan langganan Bus Layanan menyediakan bentuk komunikasi dari satu ke banyak dalam pola publikasi/langganan. Saat menggunakan topik dan langganan, komponen aplikasi terdistribusi tidak berkomunikasi langsung satu sama lain, sebaliknya mereka bertukar pesan melalui topik yang bertindak sebagai perantara. Langganan topik menyerupai antrean virtual yang menerima salinan pesan yang dikirim ke topik tersebut. Filter pada langganan memungkinkan Anda untuk menentukan pesan mana yang dikirim ke topik yang akan muncul dalam langganan topik spesifik.

Apa itu aturan (filter)?

Dalam banyak skenario, pesan yang memiliki karakteristik khusus harus diproses dengan cara yang berbeda. Untuk mengaktifkan pemrosesan khusus ini, Anda bisa mengonfigurasi langganan untuk menemukan pesan yang memiliki properti yang diinginkan lalu melakukan modifikasi tertentu pada properti tersebut. Saat langganan Service Bus melihat semua pesan yang dikirim ke topik ini, Anda hanya dapat menyalin subset pesan tersebut ke antrean langganan virtual. Pemfilteran ini dilakukan menggunakan filter langganan. Untuk mempelajari selengkapnya tentang aturan (filter), lihat Aturan dan tindakan.

Untuk menjalankan penyebaran secara otomatis, klik tombol berikut:

Sebarkan ke Azure

Parameter

Dengan Azure Resource Manager, tentukan parameter untuk nilai yang ingin Anda tentukan saat templat disebarkan. Templat menyertakan bagian yang disebut Parameters berisi semua nilai parameter. Tentukan parameter untuk nilai-nilai yang bervariasi berdasarkan proyek yang Anda sebarkan atau berdasarkan lingkungan tempat Anda menyebarkan. Jangan mendefinisikan parameter untuk nilai yang selalu tetap sama. Setiap nilai parameter digunakan dalam templat untuk menentukan sumber daya yang disebarkan.

Templat menentukan parameter berikut:

serviceBusNamespaceName

Nama namespace Service Bus yang akan dibuat.

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

serviceBusTopicName

Nama topik yang dibuat di namespace Service Bus.

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

serviceBusSubscriptionName

Nama langganan yang dibuat di namespace Bus Layanan.

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

serviceBusRuleName

Nama aturan (filter) yang dibuat di namespace Service Bus.

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

serviceBusApiVersion

Templat versi API Bus Layanan.

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

Sumber daya yang akan disebarkan

Membuat namespace Service Bus standar dari jenis Olahpesan, dengan topik dan langganan.

 "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'"
                        }
                    }
                }]
            }]
        }]
    }]

Untuk sintaks dan properti JSON, lihat namespace, topik, langganan, dan aturan.

Perintah untuk menjalankan penyebaran

Untuk menyebarkan sumber daya ke Azure, Anda harus masuk ke akun Azure dan menggunakan modul Azure Resource Manager. Untuk mempelajari tentang menggunakan Azure Resource Manager dengan Azure PowerShell atau Azure CLI, lihat:

Contoh berikut mengasumsikan Anda sudah memiliki grup sumber daya di akun Anda dengan nama yang ditentukan.

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>

Langkah berikutnya

Pelajari cara mengelola sumber daya ini dengan membuka artikel ini: