Erstellen eines Service Bus-Namespace mit einem Thema, einem Abonnement und einer Regel anhand einer Azure Resource Manager-Vorlage
In diesem Artikel wird beschrieben, wie Sie eine Azure Resource Manager-Vorlage verwenden, die einen Service Bus-Namespace mit einem Thema, einem Abonnement und einer Regel (Filter) erstellt. Dieser Artikel zeigt Ihnen, wie Sie angeben, welche Ressourcen bereitgestellt werden und wie Sie Parameter definieren, die angegeben werden, wenn die Bereitstellung ausgeführt wird. Sie können diese Vorlage für Ihre eigenen Bereitstellungen verwenden oder Ihren Anforderungen anpassen.
Weitere Informationen zum Erstellen von Vorlagen finden Sie unter Erstellen von Azure Resource Manager-Vorlagen.
Weitere Informationen zur Vorgehensweise und Muster zu Namenskonventionen für Azure-Ressourcen finden Sie unter Recommended naming conventions for Azure resources (Empfohlene Namenskonventionen für Azure-Ressourcen).
Die vollständige Vorlage finden Sie unter Service Bus-Namespace mit Thema, Abonnement und Regel.
Hinweis
Die folgenden Azure Resource Manager-Vorlagen sind zum Download und zur Bereitstellung verfügbar.
- Create a Service Bus authorization rule for namespace and queue using an Azure Resource Manager template
- Create a Service Bus namespace and a queue using an Azure Resource Manager template
- Erstellen eines Service Bus-Namespaces
- Create a Service Bus namespace with topic and subscription using an Azure Resource Manager template (Erstellen eines Service Bus-Namespace mit Thema und Abonnement mit einer Azure Resource Manager-Vorlage)
Um die neuesten Vorlagen zu finden, rufen Sie den Katalog Azure-Schnellstartvorlagen auf, und suchen Sie nach „Service Bus“.
Was stellen Sie bereit?
Mit dieser Vorlage können Sie einen Service Bus-Namespace mit Thema, Abonnement und Regel (Filter) bereitstellen.
Service Bus-Themen und -Abonnements bieten eine 1:n-Kommunikation in einem Muster vom Typ Veröffentlichen/Abonnieren. Bei der Verwendung von Themen und Abonnements kommunizieren die Komponenten einer verteilten Anwendung nicht direkt miteinander, sondern sie tauschen Nachrichten über ein Thema aus, das als Zwischenelement dient. Durch das Abonnieren eines Themas wird eine virtuelle Warteschlange erstellt, die Kopien der an das Thema gesendeten Nachrichten empfängt. Durch einen Filter für ein Abonnement können Sie angeben, welche an ein Thema gesendeten Nachrichten in einem bestimmten Themenabonnement angezeigt werden sollen.
Was sind Regeln (Filter)?
In vielen Fällen müssen Nachrichten mit bestimmten Merkmalen auf unterschiedliche Weise verarbeitet werden. Damit diese benutzerdefinierte Verarbeitung möglich ist, können Sie Abonnements so konfigurieren, dass sie nach Nachrichten mit bestimmten Eigenschaften suchen und dann Änderungen an diesen Eigenschaften vornehmen. Auch wenn Service Bus-Abonnements alle Nachrichten angezeigt werden, die an das Thema gesendet wurden, können Sie nur eine Teilmenge dieser Nachrichten in die virtuelle Abonnementwarteschlange kopieren. Dies wird mithilfe von Abonnementfiltern erreicht. Weitere Informationen zu Regeln (Filtern) finden Sie unter Regeln und Aktionen.
Klicken Sie auf folgende Schaltfläche, um die Bereitstellung automatisch auszuführen:
Parameter
Definieren Sie mit Azure Resource Manager die Parameter für Werte, die Sie bei der Bereitstellung der Vorlage angeben möchten. Die Vorlage enthält einen Abschnitt namens Parameters
, der alle Parameterwerte enthält. Definieren Sie einen Parameter für die Werte, die basierend auf dem bereitgestellten Projekt oder der bereitgestellten Umgebung variieren. Definieren Sie keine Parameter für Werte, die sich nicht ändern. Jeder Parameterwert wird in der Vorlage verwendet, um die bereitgestellten Ressourcen zu definieren.
Die Vorlage definiert die folgenden Parameter:
serviceBusNamespaceName
Der Name des zu erstellenden Service Bus-Namespace.
"serviceBusNamespaceName": {
"type": "string"
}
serviceBusTopicName
Der Name des Themas, das im Service Bus-Namespace erstellt wird.
"serviceBusTopicName": {
"type": "string"
}
serviceBusSubscriptionName
Der Name des Abonnements, das im Service Bus-Namespace erstellt wird.
"serviceBusSubscriptionName": {
"type": "string"
}
serviceBusRuleName
Der Name der Regel (des Filters), die im Service Bus-Namespace erstellt wird.
"serviceBusRuleName": {
"type": "string",
}
serviceBusApiVersion
Die Service Bus-API-Version der Vorlage.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Bereitzustellende Ressourcen
Erstellt einen Service Bus-Standardnamespace vom Typ Messaging mit Thema, Abonnement und Regeln.
"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 und Eigenschaften finden Sie unter namespaces, topics, subscriptions und rules.
Befehle zum Ausführen der Bereitstellung
Um die Ressourcen in Azure bereitzustellen, müssen Sie bei Ihrem Azure-Konto angemeldet sein und das Azure Resource Manager-Modul verwenden. Informationen zum Verwenden des Azure-Ressourcen-Managers mit Azure PowerShell oder der Azure-Befehlszeilenschnittstelle finden Sie hier:
- Verwalten von Azure-Ressourcen mithilfe von Azure PowerShell
- Verwalten von Azure-Ressourcen mithilfe der Azure-Befehlszeilenschnittstelle
Bei den folgenden Beispielen wird davon ausgegangen, dass Sie in Ihrem Konto bereits über eine Ressourcengruppe mit dem angegebenen Namen verfügen.
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ächste Schritte
In den folgenden Artikeln erfahren Sie, wie Sie diese Ressourcen verwalten: