Skapa ett Service Bus-namnområde med ämne, prenumeration och regel med hjälp av en Azure Resource Manager-mall

Den här artikeln visar hur du använder en Azure Resource Manager-mall som skapar ett Service Bus-namnområde med ett ämne, en prenumeration och en regel (filter). Artikeln beskriver hur du anger vilka resurser som distribueras och hur du definierar parametrar som anges när distributionen körs. Du kan använda den här mallen för dina egna distributioner eller anpassa den så att den uppfyller dina krav

Mer information om att skapa mallar finns i Redigera Azure Resource Manager-mallar.

Mer information om praxis och mönster för namngivningskonventioner för Azure-resurser finns i Rekommenderade namngivningskonventioner för Azure-resurser.

Den fullständiga mallen finns i Service Bus-namnområdet med ämne, prenumeration och regelmall .

Anteckning

Följande Azure-Resource Manager mallar är tillgängliga för nedladdning och distribution.

Om du vill söka efter de senaste mallarna går du till galleriet Azure Snabbstartsmallar och söker efter Service Bus.

Vad distribuerar du?

Med den här mallen distribuerar du ett Service Bus-namnområde med ämne, prenumeration och regel (filter).

Service Bus-ämnen och -prenumerationer ger en en-till-många-form av kommunikation i ett publicerings-/prenumerationsmönster . När du använder ämnen och prenumerationer kommunicerar komponenter i ett distribuerat program inte direkt med varandra, utan de utbyter meddelanden via ämne som fungerar som mellanhand. En prenumeration på ett ämne liknar en virtuell kö som tar emot kopior av meddelanden som har skickats till ämnet. Med ett filter för prenumeration kan du ange vilka meddelanden som ska visas i en specifik ämnesprenumeration.

Vad är regler (filter)?

I många scenarier måste meddelanden som har specifika egenskaper bearbetas på olika sätt. Om du vill aktivera den här anpassade bearbetningen kan du konfigurera prenumerationer för att hitta meddelanden som har specifika egenskaper och sedan utföra ändringar av dessa egenskaper. Även om Service Bus-prenumerationer ser alla meddelanden som skickas till ämnet kan du bara kopiera en delmängd av dessa meddelanden till den virtuella prenumerationskön. Det görs med hjälp av prenumerationsfilter. Mer information om regler (filter) finns i Regler och åtgärder.

Klicka på följande knapp för att köra distributionen automatiskt:

Distribuera till Azure

Parametrar

Med Azure Resource Manager definierar du parametrar för värden som du vill ange när mallen distribueras. Mallen innehåller ett avsnitt som heter Parameters och som innehåller alla parametervärden. Definiera en parameter för de värden som varierar beroende på vilket projekt du distribuerar eller baserat på den miljö som du distribuerar till. Definiera inte parametrar för värden som aldrig ändras. Varje parametervärde används i mallen för att definiera de resurser som distribueras.

Mallen definierar följande parametrar:

serviceBusNamespaceName

Namnet på Service Bus-namnområdet som ska skapas.

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

serviceBusTopicName

Namnet på ämnet som skapades i Service Bus-namnområdet.

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

serviceBusSubscriptionName

Namnet på prenumerationen som skapades i Service Bus-namnområdet.

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

serviceBusRuleName

Namnet på regeln(filtret) som skapats i Service Bus-namnområdet.

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

serviceBusApiVersion

Service Bus API-versionen av mallen.

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

Resurser som ska distribueras

Skapar ett Service Bus-standardnamnområde av typen Messaging med ämne och prenumeration och regler.

 "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-syntax och egenskaper finns i namnrymder, ämnen, prenumerationer och regler.

Kommandon för att köra distributionen

Om du vill distribuera resurserna till Azure måste du vara inloggad på ditt Azure-konto och använda Azure Resource Manager-modulen. Information om hur du använder Azure Resource Manager med Azure PowerShell eller Azure CLI hittar du här:

Följande exempel förutsätter att du redan har en resursgrupp i ditt konto med det angivna namnet.

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>

Nästa steg

Lär dig hur du hanterar dessa resurser genom att visa följande artiklar: