Création de ressources Service Bus à l’aide de modèles Azure Resource Manager

Cet article décrit comment créer et déployer des ressources Service Bus à l'aide de modèles Azure Resource Manager, de PowerShell et du fournisseur de ressources Service Bus.

Les modèles Azure Resource Manager vous permettent de définir les ressources à déployer pour une solution et de spécifier les paramètres et variables qui permettent d'entrer des valeurs pour les différents environnements. Le modèle est écrit en JSON et se compose d’expressions que vous pouvez utiliser pour construire des valeurs pour votre déploiement. Pour plus d’informations sur l’écriture de modèles Azure Resource Manager et sur le format du modèle, consultez Structure et syntaxe de modèles Azure Resource Manager.

Notes

Les exemples de cet article montrent comment utiliser Azure Resource Manager pour créer un espace de noms et une entité de messagerie (file d'attente) Service Bus. Pour accéder à d’autres exemples de modèles, recherchez Service Bus dans la galerie de modèles de démarrage rapide Azure.

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Modèles Resource Manager Service Bus

Ces modèles Azure Resource Manager Service Bus sont disponibles au téléchargement et au déploiement. Cliquez sur les liens suivants pour plus d'informations sur chacun d’eux, ainsi que des liens vers les modèles sur GitHub :

Déployer avec PowerShell

La procédure suivante décrit comment utiliser PowerShell pour déployer un modèle Azure Resource Manager qui crée un espace de noms Service Bus de niveau Standard et une file d’attente au sein de cet espace de noms. Cet exemple est basé sur le modèle Créer un espace de noms Service Bus avec file d’attente. Le flux de travail est approximativement le suivant :

  1. Installez PowerShell.
  2. Créez le modèle et (éventuellement) un fichier de paramètres.
  3. Dans PowerShell, connectez-vous à votre compte Azure.
  4. Créez un groupe de ressources s'il n'en existe pas.
  5. Testez le déploiement.
  6. Si vous le souhaitez, définissez le mode de déploiement.
  7. Déployez le modèle.

Pour des informations complètes sur le déploiement de modèles Azure Resource Manager, consultez Déployer des ressources à l’aide de modèles Azure Resource Manager.

Installer PowerShell

Installez Azure PowerShell en suivant les instructions disponibles dans Prise en main d’Azure PowerShell.

Créer un modèle

Clonez le dépôt ou copiez le modèle servicebus-create-queue à partir de 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]"
    }
  }
}

Créer un fichier de paramètres (facultatif)

Pour utiliser un fichier de paramètres facultatif, copiez le fichier servicebus-create-queue. Remplacez la valeur de serviceBusNamespaceName par le nom de l'espace de noms Service Bus que vous souhaitez créer dans ce déploiement, puis remplacez la valeur de serviceBusQueueName par le nom de la file d'attente que vous souhaitez créer.

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

Pour plus d’informations, consultez l’article Paramètres.

Se connecter à Azure et définir l’abonnement Azure

À partir d’une invite de commandes PowerShell, exécutez la commande suivante :

Connect-AzAccount

Vous êtes invité à ouvrir une session sur votre compte Azure. Une fois connecté, exécutez la commande suivante pour afficher vos abonnements disponibles :

Get-AzSubscription

Cette commande renvoie la liste des abonnements Azure disponibles. Choisissez un abonnement pour la session en cours en exécutant la commande suivante. Remplacez <YourSubscriptionId> par le GUID de l’abonnement Azure que vous souhaitez utiliser :

Set-AzContext -SubscriptionID <YourSubscriptionId>

Définir le groupe de ressources

Si vous n’avez pas de groupe de ressources, créez-en un avec la commande New-AzResourceGroup. Indiquez le nom du groupe de ressources et l'emplacement que vous souhaitez utiliser. Par exemple :

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

En cas de réussite, un résumé du nouveau groupe de ressources s’affiche.

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

test du déploiement

Validez votre déploiement en exécutant l’applet de commande Test-AzResourceGroupDeployment. Lorsque vous testez le déploiement, indiquez les paramètres exactement comme vous le feriez lors de l'exécution du déploiement.

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

Créer le déploiement

Pour créer le déploiement, exécutez l’applet de commande New-AzResourceGroupDeployment et indiquez les paramètres nécessaires quand vous y êtes invité. Les paramètres incluent un nom pour votre déploiement, le nom de votre groupe de ressources, le chemin d’accès ou l’URL du fichier de modèle. Si le paramètre Mode n’est pas spécifié, la valeur par défaut Incremental est utilisée. Pour plus d’informations, consultez Déploiements incrémentiels et complets.

La commande suivante vous invite à entrer les trois paramètres dans la fenêtre PowerShell :

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

Pour spécifier un fichier de paramètres à la place, utilisez la commande suivante :

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

Vous pouvez également utiliser des paramètres inclus lorsque vous exécutez l'applet de commande de déploiement. La commande est la suivante :

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

Pour exécuter un déploiement complet, affectez la valeur Complet au paramètre Mode :

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

Vérifier le déploiement

Si les ressources sont déployées avec succès, un résumé du déploiement s’affiche dans la fenêtre PowerShell :

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

Étapes suivantes

Vous avez maintenant vu le flux de travail et les commandes de base pour le déploiement d'un modèle Azure Resource Manager. Pour plus d'informations, consultez les liens suivants :