Udostępnij za pośrednictwem


Tworzenie zasobów usługi Service Bus przy użyciu szablonów usługi Azure Resource Manager

W tym artykule opisano sposób tworzenia i wdrażania zasobów usługi Service Bus przy użyciu szablonów usługi Azure Resource Manager, programu PowerShell i dostawcy zasobów usługi Service Bus.

Szablony usługi Azure Resource Manager ułatwiają definiowanie zasobów do wdrożenia dla rozwiązania oraz określanie parametrów i zmiennych, które umożliwiają wprowadzanie wartości wejściowych dla różnych środowisk. Szablon jest napisany w formacie JSON i składa się z wyrażeń, których można użyć do konstruowania wartości dla wdrożenia. Aby uzyskać szczegółowe informacje na temat pisania szablonów usługi Azure Resource Manager oraz omówienie formatu szablonu, zobacz strukturę i składnię szablonów usługi Azure Resource Manager.

Uwaga

W przykładach w tym artykule pokazano, jak za pomocą usługi Azure Resource Manager utworzyć przestrzeń nazw usługi Service Bus i jednostkę obsługi komunikatów (kolejka). Aby zapoznać się z innymi przykładami szablonów, odwiedź galerię Szablony szybkiego startu platformy Azure i wyszukaj usługę Service Bus.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Szablony usługi Resource Manager usługi Service Bus

Te szablony usługi Azure Resource Manager usługi Service Bus są dostępne do pobrania i wdrożenia. Kliknij następujące linki, aby uzyskać szczegółowe informacje o każdym z nich, z linkami do szablonów w witrynie GitHub:

Wdrażanie przy użyciu programu PowerShell

W poniższej procedurze opisano sposób wdrażania szablonu usługi Azure Resource Manager przy użyciu programu PowerShell, który tworzy przestrzeń nazw usługi Service Bus w warstwie Standardowa oraz kolejkę w tej przestrzeni nazw. Ten przykład jest oparty na szablonie Tworzenie przestrzeni nazw usługi Service Bus z kolejką . Przybliżony przepływ pracy wygląda następująco:

  1. Zainstaluj program PowerShell.
  2. Utwórz szablon i (opcjonalnie) plik parametrów.
  3. W programie PowerShell zaloguj się do konta platformy Azure.
  4. Utwórz nową grupę zasobów, jeśli nie istnieje.
  5. Przetestuj wdrożenie.
  6. W razie potrzeby ustaw tryb wdrażania.
  7. Wdrażanie szablonu.

Aby uzyskać pełne informacje na temat wdrażania szablonów usługi Azure Resource Manager, zobacz Wdrażanie zasobów przy użyciu szablonów usługi Azure Resource Manager.

Instalowanie programu PowerShell

Zainstaluj program Azure PowerShell, postępując zgodnie z instrukcjami w temacie Wprowadzenie do programu Azure PowerShell.

Utwórz szablon

Sklonuj repozytorium lub skopiuj szablon servicebus-create-queue z usługi GitHub:

{
  "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serviceBusNamespaceName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Service Bus namespace"
      }
    },
    "serviceBusQueueName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Queue"
      }
    }
  },
  "variables": {
    "defaultSASKeyName": "RootManageSharedAccessKey",
    "authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('serviceBusNamespaceName'), variables('defaultSASKeyName'))]",
  "sbVersion": "2017-04-01"
  },
  "resources": [
    {
      "apiVersion": "2017-04-01",
      "name": "[parameters('serviceBusNamespaceName')]",
      "type": "Microsoft.ServiceBus/Namespaces",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard"
      },
      "properties": {},
      "resources": [
        {
          "apiVersion": "2017-04-01",
          "name": "[parameters('serviceBusQueueName')]",
          "type": "Queues",
          "dependsOn": [
            "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
          ],
          "properties": {
            "lockDuration": "PT5M",
            "maxSizeInMegabytes": "1024",
            "requiresDuplicateDetection": "false",
            "requiresSession": "false",
            "defaultMessageTimeToLive": "P10675199DT2H48M5.4775807S",
            "deadLetteringOnMessageExpiration": "false",
            "duplicateDetectionHistoryTimeWindow": "PT10M",
            "maxDeliveryCount": "10",
            "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
            "enablePartitioning": "false",
            "enableExpress": "false"
          }
        }
      ]
    }
  ],
  "outputs": {
    "NamespaceConnectionString": {
      "type": "string",
      "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
    },
    "SharedAccessPolicyPrimaryKey": {
      "type": "string",
      "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryKey]"
    }
  }
}

Tworzenie pliku parametrów (opcjonalnie)

Aby użyć pliku parametrów opcjonalnych, skopiuj plik servicebus-create-queue . Zastąp wartość serviceBusNamespaceName nazwą przestrzeni nazw usługi Service Bus, którą chcesz utworzyć w tym wdrożeniu, i zastąp wartość serviceBusQueueName nazwą kolejki, którą chcesz utworzyć.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "serviceBusNamespaceName": {
            "value": "<myNamespaceName>"
        },
        "serviceBusQueueName": {
            "value": "<myQueueName>"
        },
        "serviceBusApiVersion": {
            "value": "2017-04-01"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Parameters (Parametry ).

Zaloguj się do platformy Azure i ustaw subskrypcję platformy Azure

W wierszu polecenia programu PowerShell uruchom następujące polecenie:

Connect-AzAccount

Zostanie wyświetlony monit o zalogowanie się do konta platformy Azure. Po zalogowaniu uruchom następujące polecenie, aby wyświetlić dostępne subskrypcje:

Get-AzSubscription

To polecenie zwraca listę dostępnych subskrypcji platformy Azure. Wybierz subskrypcję dla bieżącej sesji, uruchamiając następujące polecenie. Zastąp <YourSubscriptionId> ciąg identyfikatorem GUID subskrypcji platformy Azure, której chcesz użyć:

Set-AzContext -SubscriptionID <YourSubscriptionId>

Ustawianie grupy zasobów

Jeśli nie masz istniejącej grupy zasobów, utwórz nową grupę zasobów za pomocą polecenia New-AzResourceGroup . Podaj nazwę grupy zasobów i lokalizacji, której chcesz użyć. Na przykład:

New-AzResourceGroup -Name MyDemoRG -Location "West US"

W przypadku powodzenia zostanie wyświetlone podsumowanie nowej grupy zasobów.

ResourceGroupName : MyDemoRG
Location          : westus
ProvisioningState : Succeeded
Tags              :
ResourceId        : /subscriptions/<GUID>/resourceGroups/MyDemoRG

Testowanie wdrożenia

Zweryfikuj Test-AzResourceGroupDeployment wdrożenie, uruchamiając polecenie cmdlet . Podczas testowania wdrożenia podaj parametry dokładnie tak, jak podczas wykonywania wdrożenia.

Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

Tworzenie wdrożenia

Aby utworzyć nowe wdrożenie, uruchom New-AzResourceGroupDeployment polecenie cmdlet i po wyświetleniu monitu podaj niezbędne parametry. Parametry zawierają nazwę wdrożenia, nazwę grupy zasobów oraz ścieżkę lub adres URL do pliku szablonu. Jeśli parametr Mode nie zostanie określony, zostanie użyta wartość domyślna incremental. Aby uzyskać więcej informacji, zobacz Przyrostowe i kompletne wdrożenia.

Następujące polecenie wyświetla monit o trzy parametry w oknie programu PowerShell:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

Aby zamiast tego określić plik parametrów, użyj następującego polecenia:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json

Możesz również użyć wbudowanych parametrów podczas uruchamiania polecenia cmdlet wdrażania. Polecenie to wygląda następująco:

New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"

Aby uruchomić pełne wdrożenie, ustaw parametr Mode na Ukończono:

New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json

Weryfikowanie wdrożenia

Jeśli zasoby zostaną pomyślnie wdrożone, w oknie programu PowerShell zostanie wyświetlone podsumowanie wdrożenia:

DeploymentName    : MyDemoDeployment
ResourceGroupName : MyDemoRG
ProvisioningState : Succeeded
Timestamp         : 4/19/2017 10:38:30 PM
Mode              : Incremental
TemplateLink      :
Parameters        :
                    Name             Type                       Value
                    ===============  =========================  ==========
                    serviceBusNamespaceName  String             <namespaceName>
                    serviceBusQueueName  String                 <queueName>
                    serviceBusApiVersion  String                2017-04-01

Następne kroki

Znasz już podstawowy przepływ pracy i polecenia dotyczące wdrażania szablonu usługi Azure Resource Manager. Aby uzyskać bardziej szczegółowe informacje, odwiedź następujące linki: