Dela via


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 konstruera värden för distributionen. Detaljerad information om hur du skriver Azure Resource Manager-mallar och en diskussion om mallformatet finns i struktur och syntax för Azure Resource Manager-mallar.

Kommentar

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.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i 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

Dessa Service Bus Azure Resource Manager-mallar ä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 ett Service Bus-namnområde på standardnivå och en kö inom det 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 (valfritt) en parameterfil.
  3. Logga in på ditt Azure-konto i PowerShell.
  4. Skapa en ny resursgrupp om den inte finns.
  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 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å kön 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. Till 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 precis 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 Läge inte har angetts används standardvärdet för Inkrementell . Mer information finns i Inkrementella och fullständiga distributioner.

Följande kommando frågar efter 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: