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.

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:

Bereitstellen in Azure

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:

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-Befehlszeilenschnittstelle

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: