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

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

Azure Resource Manager hjälper dig att definiera de resurser som ska distribueras för en lösning och att 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 Azure Resource Manager mallar och en beskrivning av mallformatet finns i struktur och syntax 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 Service Bus namnrymd och meddelandeentitet (kö). Andra mallexempel finns i galleriet Azure-snabbstartsmallar och söker efter Service Bus.

Anteckning

I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. 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

De Service Bus Azure Resource Manager mallarna är tillgängliga för nedladdning och distribution. Klicka på följande länkar för 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 en standardnivå Service Bus namnområde och en kö inom det namnområdet. Det här exemplet baseras på mallen Skapa Service Bus 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 anger du 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 för med namnet på Service Bus som du vill skapa i den här distributionen och ersätt värdet för med namnet på den serviceBusNamespaceName kö som du vill serviceBusQueueName 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-kommandotolk:

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 en befintlig resursgrupp skapar du en ny resursgrupp med kommandot New-AzResourceGroup. Ange namnet på den resursgrupp och plats som du vill använda. 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 Test-AzResourceGroupDeployment cmdleten . När du testar distributionen ska du ange parametrar exakt som när du kör distributionen.

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

Skapa distributionen

Skapa den nya distributionen genom att köra New-AzResourceGroupDeployment cmdleten och ange 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 Läge inte anges används standardvärdet inkrementellt. Mer information finns i Inkrementell och fullständig distribution.

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 i stället vill ange en parameterfil 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 cmdleten för distribution. 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: