Een Service Bus-naamruimte maken met onderwerp, abonnement en regel met behulp van een Azure Resource Manager-sjabloon
In dit artikel wordt beschreven hoe u een Azure Resource Manager-sjabloon gebruikt waarmee een Service Bus-naamruimte wordt gemaakt met een onderwerp, abonnement en regel (filter). In het artikel wordt uitgelegd hoe u kunt opgeven welke resources worden geïmplementeerd en hoe u de parameters definieert die bij de uitvoering van de implementatie zijn opgegeven. U kunt deze sjabloon gebruiken voor uw eigen implementaties of de sjabloon aanpassen aan uw eisen
Zie Azure Resource Manager-sjablonen samenstellen voor meer informatie over het maken van sjablonen.
Zie Aanbevolen naamconventies voor Azure-resources voor meer informatie over oefenen en patronen in naamconventies voor Azure-resources.
Zie de Service Bus-naamruimte met onderwerp, abonnement en regelsjabloon voor de volledige sjabloon.
Notitie
De volgende Azure Resource Manager-sjablonen zijn beschikbaar om te downloaden en te implementeren.
- Een Service Bus-naamruimte met een wachtrij en een autorisatieregel maken
- Een Service Bus-naamruimte met een wachtrij maken
- Een Service Bus-naamruimte maken
- Een Service Bus-naamruimte met een onderwerp en abonnement maken
Als u wilt controleren op de nieuwste sjablonen, gaat u naar de galerie met Azure-quickstartsjablonen en zoekt u naar Service Bus.
Wat gaat u implementeren?
Met deze sjabloon implementeert u een Service Bus-naamruimte met onderwerp, abonnement en regel (filter).
Service Bus-onderwerpen en -abonnementen biedt een een-op-veel-communicatievorm in een publiceren/abonneren-patroon. Wanneer u onderwerpen en abonnementen gebruikt, communiceren onderdelen van een gedistribueerde toepassing niet rechtstreeks met elkaar, in plaats daarvan wisselen ze berichten uit via onderwerp dat als intermediair fungeert. Een abonnement op een onderwerp lijkt op een virtuele wachtrij die kopieën ontvangt van berichten die naar het onderwerp zijn verzonden. Met een filter voor abonnementen kunt u opgeven welke berichten die naar een onderwerp worden verzonden, moeten worden weergegeven binnen een specifiek onderwerpabonnement.
Wat zijn regels (filters)?
In veel scenario's moeten berichten met specifieke kenmerken op verschillende manieren worden verwerkt. Als u deze aangepaste verwerking wilt inschakelen, kunt u abonnementen configureren om berichten met specifieke eigenschappen te vinden en vervolgens wijzigingen in deze eigenschappen uit te voeren. Hoewel Service Bus-abonnementen alle berichten zien die naar het onderwerp worden verzonden, kunt u alleen een subset van deze berichten kopiëren naar de wachtrij voor virtuele abonnementen. Dit wordt bereikt met behulp van abonnementsfilters. Zie Regels en acties voor meer informatie over regels (filters).
Klik op de volgende knop om de implementatie automatisch uit te voeren:
Parameters
Met Azure Resource Manager definieert u parameters voor waarden die u wilt opgeven wanneer de sjabloon wordt geïmplementeerd. De sjabloon bevat een sectie met de naam Parameters
die alle parameterwaarden bevat. Definieer een parameter voor die waarden die variëren op basis van het project dat u implementeert of op basis van de omgeving waarnaar u implementeert. Definieer geen parameters voor waarden die altijd hetzelfde blijven. De waarde van elke parameter wordt gebruikt in de sjabloon voor het definiëren van de resources die worden geïmplementeerd.
Met de sjabloon worden de volgende parameters gedefinieerd:
serviceBusNamespaceName
De naam van de Service Bus-naamruimte die moet worden gemaakt.
"serviceBusNamespaceName": {
"type": "string"
}
serviceBusTopicName
De naam van het onderwerp dat in de Service Bus-naamruimte wordt gemaakt.
"serviceBusTopicName": {
"type": "string"
}
serviceBusSubscriptionName
De naam van het abonnement dat in de Service Bus-naamruimte wordt gemaakt.
"serviceBusSubscriptionName": {
"type": "string"
}
serviceBusRuleName
De naam van de regel (filter) die is gemaakt in de Service Bus-naamruimte.
"serviceBusRuleName": {
"type": "string",
}
serviceBusApiVersion
De Service Bus-API-versie van de sjabloon.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Resources om te implementeren
Hiermee maakt u een standaard Service Bus-naamruimte van het type Messaging, met onderwerp en abonnement en regels.
"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'"
}
}
}]
}]
}]
}]
Zie naamruimten, onderwerpen, abonnementen en regels voor JSON-syntaxis en -eigenschappen.
Opdrachten om implementatie uit te voeren
Als u resources in Azure wilt implementeren, moet u zijn aangemeld bij uw Azure-account en moet u de Azure Resource Manager-module gebruiken. Voor meer informatie over het gebruik van Azure Resource Manager in combinatie met Azure PowerShell of de Azure CLI raadpleegt u:
- Azure-resources beheren met behulp van Azure PowerShell
- Azure-resources beheren met behulp van de Azure CLI.
In de volgende voorbeelden wordt ervan uitgegaan dat u in uw account al een resourcegroep hebt met de opgegeven naam.
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>
Volgende stappen
Meer informatie over het beheren van deze resources vindt u in de volgende artikelen: