Delen via


Service Bus-resources maken met behulp van Azure Resource Manager-sjablonen

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

Met Azure Resource Manager-sjablonen kunt u de resources definiëren die moeten worden geïmplementeerd voor een oplossing 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 samen te stellen. Zie de 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. Voor andere sjabloonvoorbeelden gaat u naar de galerie met Azure-quickstartsjablonen en zoekt u naar Service Bus.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. 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-sjablonen zijn beschikbaar voor downloaden en implementeren. Klik op de volgende koppelingen voor meer informatie over elk item, 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 waarmee een Service Bus-naamruimte met de Standard-laag en een wachtrij in die naamruimte wordt gemaakt. Dit voorbeeld is gebaseerd op de Service Bus-naamruimte maken met een wachtrijsjabloon . De werkstroom is 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 niet bestaat.
  5. Test de implementatie.
  6. Stel indien gewenst de implementatiemodus in.
  7. De sjabloon implementeren.

Zie Resources implementeren met Azure Resource Manager-sjablonen voor volledige informatie over het implementeren van 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 parameterbestand maken (optioneel)

Als u een optioneel parameterbestand wilt gebruiken, kopieert u het bestand servicebus-create-queue . Vervang de waarde door serviceBusNamespaceName de naam van de Service Bus-naamruimte die u in deze implementatie wilt maken en vervang de waarde door serviceBusQueueName de naam van de wachtrij die 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 vanaf een PowerShell-prompt de volgende opdracht uit:

Connect-AzAccount

U wordt gevraagd u aan te melden bij uw Azure-account. Nadat u zich hebt aangemeld, voert u de volgende opdracht uit om uw beschikbare abonnementen weer te geven:

Get-AzSubscription

Met deze opdracht wordt een lijst met beschikbare Azure-abonnementen geretourneerd. 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 de locatie die u wilt gebruiken. Voorbeeld:

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 voeren. Bij het testen van de implementatie moet u precies dezelfde parameters opgeven als 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, voert u de New-AzResourceGroupDeployment cmdlet uit en geeft u de benodigde parameters op wanneer u hierom 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 Modus niet is opgegeven, wordt de standaardwaarde van Incrementeel gebruikt. Zie Incrementele en volledige implementaties voor meer informatie.

Met de volgende opdracht wordt u gevraagd 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 parameterbestand 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 wanneer u de implementatie-cmdlet uitvoert. 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 Modus 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: