Udostępnij za pośrednictwem


Tworzenie przestrzeni nazw usługi Service Bus z tematem, subskrypcją i regułą przy użyciu szablonu usługi Azure Resource Manager

W tym artykule pokazano, jak używać szablonu usługi Azure Resource Manager, który tworzy przestrzeń nazw usługi Service Bus z tematem, subskrypcją i regułą (filtr). W tym artykule wyjaśniono, jak określić, które zasoby są wdrażane, oraz jak zdefiniować parametry określone podczas wdrażania. Można użyć tego szablonu na potrzeby własnych wdrożeń lub dostosować go do konkretnych potrzeb.

Aby uzyskać więcej informacji na temat tworzenia szablonów, zobacz Tworzenie szablonów usługi Azure Resource Manager.

Aby uzyskać więcej informacji na temat praktyk i wzorców konwencji nazewnictwa zasobów platformy Azure, zobacz Zalecane konwencje nazewnictwa dla zasobów platformy Azure.

Pełny szablon zawiera przestrzeń nazw usługi Service Bus z tematem, subskrypcją i szablonem reguły .

Uwaga

Następujące szablony usługi Azure Resource Manager są dostępne do pobrania i wdrożenia.

Aby sprawdzić najnowsze szablony, odwiedź galerię Szablony szybkiego startu platformy Azure i wyszukaj usługę Service Bus.

Co wdrażasz?

Za pomocą tego szablonu wdrożysz przestrzeń nazw usługi Service Bus z tematem, subskrypcją i regułą (filtrem).

Tematy i subskrypcje usługi Service Bus zapewniają formę komunikacji "jeden do wielu" we wzorcu publikowania/subskrybowania . W przypadku korzystania z tematów i subskrypcji składniki aplikacji rozproszonej nie komunikują się bezpośrednio ze sobą, zamiast tego wymieniają komunikaty za pośrednictwem tematu, który działa jako pośrednik. Subskrypcja tematu przypomina kolejkę wirtualną, która odbiera kopie komunikatów, które zostały wysłane do tematu. Filtr subskrypcji umożliwia określenie, które komunikaty wysyłane do tematu powinny być wyświetlane w ramach określonej subskrypcji tematu.

Co to są reguły (filtry)?

W wielu scenariuszach komunikaty o określonych cechach muszą być przetwarzane na różne sposoby. Aby włączyć to przetwarzanie niestandardowe, możesz skonfigurować subskrypcje w celu znajdowania komunikatów, które mają określone właściwości, a następnie przeprowadzać modyfikacje tych właściwości. Mimo że subskrypcje usługi Service Bus widzą wszystkie komunikaty wysyłane do tematu, można skopiować tylko podzbiór tych komunikatów do kolejki subskrypcji wirtualnej. Odbywa się to przy użyciu filtrów subskrypcji. Aby dowiedzieć się więcej o regułach (filtrach), zobacz Reguły i akcje.

Aby automatycznie uruchomić wdrożenie, kliknij poniższy przycisk:

Wdróż na platformie Azure

Parametry

W usłudze Azure Resource Manager zdefiniuj parametry wartości, które chcesz określić podczas wdrażania szablonu. Szablon zawiera sekcję o nazwie Parameters obejmującą wszystkie wartości parametrów. Zdefiniuj parametr dla tych wartości, które różnią się w zależności od wdrażanego projektu lub na podstawie wdrażanego środowiska. Nie należy definiować parametrów dla wartości, które pozostają niezmienione. Każda wartość parametru używana w szablonie definiuje wdrażane zasoby.

Szablon definiuje następujące parametry:

serviceBusNamespaceName

Nazwa przestrzeni nazw usługi Service Bus do utworzenia.

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

serviceBusTopicName

Nazwa tematu utworzonego w przestrzeni nazw usługi Service Bus.

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

serviceBusSubscriptionName

Nazwa subskrypcji utworzonej w przestrzeni nazw usługi Service Bus.

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

serviceBusRuleName

Nazwa reguły(filtru) utworzonej w przestrzeni nazw usługi Service Bus.

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

serviceBusApiVersion

Wersja interfejsu API usługi Service Bus szablonu.

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

Zasoby wymagające wdrożenia

Tworzy standardową przestrzeń nazw usługi Service Bus typu Komunikaty z tematem i subskrypcją oraz regułami.

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

Aby uzyskać informacje o składni i właściwościach JSON, zobacz przestrzenie nazw, tematy, subskrypcje i reguły.

Polecenia umożliwiające uruchomienie wdrożenia

Aby wdrożyć zasoby na platformie Azure, musisz wcześniej zalogować się na swoje konto Azure i korzystać z modułu Azure Resource Manager. Aby dowiedzieć się, jak używać usługi Azure Resource Manager z programem Azure PowerShell lub interfejsem wiersza polecenia platformy Azure, zobacz:

W następujących przykładach założono, że na swoim koncie masz już grupę zasobów o określonej nazwie.

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

Interfejs wiersza polecenia platformy Azure

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>

Następne kroki

Dowiedz się, jak zarządzać tymi zasobami, przeglądając następujące artykuły: