Uw Service Bus maken met behulp van Azure Resource Manager sjablonen

In dit artikel wordt beschreven hoe u Service Bus resources maakt en implementeert met Azure Resource Manager-sjablonen, PowerShell en de Service Bus resourceprovider.

Azure Resource Manager-sjablonen kunt u de resources definiëren die u voor een oplossing wilt implementeren en parameters en variabelen opgeven waarmee u waarden voor verschillende omgevingen kunt invoeren. De sjabloon is geschreven in JSON en bestaat uit expressies die u kunt gebruiken om waarden voor uw implementatie te maken. Zie structuur en syntaxis van Azure Resource Manager sjablonen voor gedetailleerde informatie over het schrijven van Azure Resource Manager sjablonen en een bespreking van de sjabloonindeling.

Notitie

De voorbeelden in dit artikel laten zien hoe u Azure Resource Manager gebruikt om een Service Bus-naamruimte en berichtenentiteit (wachtrij) te maken. Ga voor andere sjabloonvoorbeelden naar de galerie Azure-quickstartsjablonen en zoek naar Service Bus.

Notitie

In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Service Bus Resource Manager sjablonen

Deze Service Bus Azure Resource Manager zijn beschikbaar voor downloaden en implementeren. Klik op de volgende koppelingen voor meer informatie over elk van deze koppelingen, met koppelingen naar de sjablonen op GitHub:

Implementeren met PowerShell

In de volgende procedure wordt beschreven hoe u PowerShell gebruikt om een Azure Resource Manager-sjabloon te implementeren die een Standard-laag maakt Service Bus naamruimte en een wachtrij binnen die naamruimte. Dit voorbeeld is gebaseerd op de sjabloon Een Service Bus maken met wachtrij. De werkstroom is bij benadering als volgt:

  1. Installeer PowerShell.
  2. Maak de sjabloon en (optioneel) een parameterbestand.
  3. Meld u in PowerShell aan bij uw Azure-account.
  4. Maak een nieuwe resourcegroep als deze nog niet bestaat.
  5. Test de implementatie.
  6. Stel indien gewenst de implementatiemodus in.
  7. De sjabloon implementeren.

Zie Resources implementeren met sjablonen voor Azure Resource Manager meer informatie over het implementeren Azure Resource Manager sjablonen.

PowerShell installeren

Installeer Azure PowerShell door de instructies te volgen in Aan de slag met Azure PowerShell.

Een sjabloon maken

Kloon de opslagplaats of kopieer de sjabloon servicebus-create-queue vanuit 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]"
    }
  }
}

Een parametersbestand maken (optioneel)

Als u een optioneel parametersbestand wilt gebruiken, kopieert u het bestand servicebus-create-queue. Vervang de waarde van door de naam van de Service Bus-naamruimte die u in deze implementatie wilt maken en vervang de waarde van door de naam van de wachtrij die serviceBusNamespaceName serviceBusQueueName u wilt maken.

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

Zie het artikel Parameters voor meer informatie.

Meld u aan bij Azure en stel het Azure-abonnement in

Voer vanuit een PowerShell-prompt de volgende opdracht uit:

Connect-AzAccount

U wordt gevraagd u aan te melden bij uw Azure-account. Voer na het aanmelden de volgende opdracht uit om uw beschikbare abonnementen weer te geven:

Get-AzSubscription

Met deze opdracht wordt een lijst met beschikbare Azure-abonnementen weergegeven. Kies een abonnement voor de huidige sessie door de volgende opdracht uit te voeren. Vervang <YourSubscriptionId> door de GUID voor het Azure-abonnement dat u wilt gebruiken:

Set-AzContext -SubscriptionID <YourSubscriptionId>

De resourcegroep instellen

Als u geen bestaande resourcegroep hebt, maakt u een nieuwe resourcegroep met de opdracht New-AzResourceGroup. Geef de naam op van de resourcegroep en locatie die u wilt gebruiken. Bijvoorbeeld:

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

Als dit lukt, wordt een samenvatting van de nieuwe resourcegroep weergegeven.

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

De implementatie testen

Valideer uw implementatie door de Test-AzResourceGroupDeployment cmdlet uit te uitvoeren. Wanneer u de implementatie test, geeft u parameters precies op zoals u zou doen bij het uitvoeren van de implementatie.

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

De implementatie maken

Als u de nieuwe implementatie wilt maken, moet u de cmdlet uitvoeren en de New-AzResourceGroupDeployment benodigde parameters opgeven wanneer u hier om wordt gevraagd. De parameters bevatten een naam voor uw implementatie, de naam van uw resourcegroep en het pad of de URL naar het sjabloonbestand. Als de parameter Mode niet is opgegeven, wordt de standaardwaarde Incrementeel gebruikt. Zie Incrementele en volledige implementaties voor meer informatie.

De volgende opdracht vraagt u om de drie parameters in het PowerShell-venster:

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

Als u in plaats daarvan een parametersbestand wilt opgeven, gebruikt u de volgende opdracht:

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

U kunt ook inlineparameters gebruiken bij het uitvoeren van de implementatie-cmdlet. De opdracht is als volgt:

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

Als u een volledige implementatie wilt uitvoeren, stelt u de parameter Mode in op Voltooien:

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

De implementatie controleren

Als de resources zijn geïmplementeerd, wordt een samenvatting van de implementatie weergegeven in het PowerShell-venster:

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

Volgende stappen

U hebt nu de basiswerkstroom en opdrachten voor het implementeren van een Azure Resource Manager sjabloon gezien. Ga naar de volgende koppelingen voor meer informatie: