Skapa Service Bus-resurser med hjälp av Azure Resource Manager-mallar

Den här artikeln beskriver hur du skapar och distribuerar Service Bus-resurser med hjälp av Azure Resource Manager-mallar, PowerShell och Service Bus-resursprovidern.

Med Azure Resource Manager-mallar kan du definiera de resurser som ska distribueras för en lösning och ange parametrar och variabler som gör att du kan ange värden för olika miljöer. Mallen är skriven i JSON och består av uttryck som du kan använda för att skapa värden för distributionen. Detaljerad information om hur du skriver Azure Resource Manager-mallar och en diskussion om mallformatet finns i Strukturen och syntaxen för Azure Resource Manager mallar.

Anteckning

Exemplen i den här artikeln visar hur du använder Azure Resource Manager för att skapa en Service Bus-namnrymd och meddelandeentitet (kö). Andra mallexempel finns i galleriet Azure Snabbstartsmallar och söker efter Service Bus.

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Service Bus Resource Manager mallar

Dessa Service Bus Azure-Resource Manager mallar är tillgängliga för nedladdning och distribution. Klicka på följande länkar för mer information om var och en, med länkar till mallarna på GitHub:

Distribuera med PowerShell

Följande procedur beskriver hur du använder PowerShell för att distribuera en Azure Resource Manager-mall som skapar ett Service Bus-namnområde på standardnivå och en kö i namnområdet. Det här exemplet baseras på mallen Skapa ett Service Bus-namnområde med kö . Det ungefärliga arbetsflödet är följande:

  1. Installera PowerShell.
  2. Skapa mallen och (om du vill) en parameterfil.
  3. Logga in på ditt Azure-konto i PowerShell.
  4. Skapa en ny resursgrupp om det inte finns någon.
  5. Testa distributionen.
  6. Om du vill kan du ange distributionsläget.
  7. Distribuera mallen.

Fullständig information om hur du distribuerar Azure Resource Manager-mallar finns i Distribuera resurser med Azure Resource Manager-mallar.

Installera PowerShell

Installera Azure PowerShell genom att följa anvisningarna i Komma igång med Azure PowerShell.

Skapa en mall

Klona lagringsplatsen eller kopiera mallen servicebus-create-queue från 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]"
    }
  }
}

Skapa en parameterfil (valfritt)

Om du vill använda en valfri parameterfil kopierar du filen servicebus-create-queue . Ersätt värdet serviceBusNamespaceName för med namnet på det Service Bus-namnområde som du vill skapa i den här distributionen och ersätt värdet serviceBusQueueName för med namnet på den kö som du vill skapa.

{
    "$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"
        }
    }
}

Mer information finns i artikeln Parametrar .

Logga in på Azure och ange Azure-prenumerationen

Kör följande kommando från en PowerShell-prompt:

Connect-AzAccount

Du uppmanas att logga in på ditt Azure-konto. När du har loggat in kör du följande kommando för att visa dina tillgängliga prenumerationer:

Get-AzSubscription

Det här kommandot returnerar en lista över tillgängliga Azure-prenumerationer. Välj en prenumeration för den aktuella sessionen genom att köra följande kommando. Ersätt <YourSubscriptionId> med GUID för den Azure-prenumeration som du vill använda:

Set-AzContext -SubscriptionID <YourSubscriptionId>

Ange resursgruppen

Om du inte har någon befintlig resursgrupp skapar du en ny resursgrupp med kommandot New-AzResourceGroup . Ange namnet på den resursgrupp och plats som du vill använda. Ett exempel:

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

Om det lyckas visas en sammanfattning av den nya resursgruppen.

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

Testa distributionen

Verifiera distributionen genom att köra cmdleten Test-AzResourceGroupDeployment . När du testar distributionen anger du parametrar exakt som när du kör distributionen.

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

Skapa distributionen

Om du vill skapa den nya distributionen kör du cmdleten New-AzResourceGroupDeployment och anger nödvändiga parametrar när du uppmanas att göra det. Parametrarna innehåller ett namn för distributionen, namnet på resursgruppen och sökvägen eller URL:en till mallfilen. Om parametern Mode inte anges används standardvärdet för Inkrementell . Mer information finns i Inkrementella och fullständiga distributioner.

Följande kommando uppmanar dig att ange de tre parametrarna i PowerShell-fönstret:

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

Om du vill ange en parameterfil i stället använder du följande kommando:

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

Du kan också använda infogade parametrar när du kör distributions-cmdleten. Kommandot är följande:

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

Om du vill köra en fullständig distribution anger du parametern Läge till Slutför:

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

Verifiera distributionen

Om resurserna har distribuerats visas en sammanfattning av distributionen i PowerShell-fönstret:

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

Nästa steg

Nu har du sett det grundläggande arbetsflödet och kommandona för att distribuera en Azure Resource Manager-mall. Mer detaljerad information finns på följande länkar: