Creare risorse del bus di servizio usando i modelli di Azure Resource ManagerCreate Service Bus resources using Azure Resource Manager templates

Questo articolo descrive come creare e distribuire risorse del bus di servizio usando i modelli di Azure Resource Manager, PowerShell e il provider di risorse del bus di servizio.This article describes how to create and deploy Service Bus resources using Azure Resource Manager templates, PowerShell, and the Service Bus resource provider.

I modelli di Azure Resource Manager aiutano a definire le risorse da distribuire per una soluzione e a specificare i parametri e le variabili che consentono di immettere i valori per diversi ambienti.Azure Resource Manager templates help you define the resources to deploy for a solution, and to specify parameters and variables that enable you to input values for different environments. Il modello, scritto in JSON, è costituito da espressioni che è possibile usare per creare valori per la distribuzione.The template is written in JSON and consists of expressions that you can use to construct values for your deployment. Per informazioni dettagliate sulla creazione di modelli di Azure Resource Manager e per una descrizione del formato dei modelli, vedere Comprendere la struttura e la sintassi dei modelli di Azure Resource Manger.For detailed information about writing Azure Resource Manager templates, and a discussion of the template format, see structure and syntax of Azure Resource Manager templates.

Nota

Gli esempi inclusi in questo articolo spiegano come usare Azure Resource Manager per creare uno spazio dei nomi del bus di servizio e una entità di messaggistica, ovvero una coda.The examples in this article show how to use Azure Resource Manager to create a Service Bus namespace and messaging entity (queue). Per altri esempi di modelli, visitare la raccolta dei modelli di avvio rapido di Azure e cercare bus di servizio.For other template examples, visit the Azure Quickstart Templates gallery and search for Service Bus.

Modelli di Resource Manager per il bus di servizioService Bus Resource Manager templates

I modelli di Azure Resource Manager del bus di servizio sono disponibili per il download e la distribuzione.These Service Bus Azure Resource Manager templates are available for download and deployment. Fare clic sui collegamenti seguenti per informazioni dettagliate su ognuno di essi, con collegamenti ai modelli su GitHub:Click the following links for details about each one, with links to the templates on GitHub:

Distribuire con PowerShellDeploy with PowerShell

La procedura seguente illustra come usare PowerShell per distribuire un modello di Azure Resource Manager che crea uno spazio dei nomi del bus di servizio di livello Standard e una coda all'interno di tale spazio dei nomi.The following procedure describes how to use PowerShell to deploy an Azure Resource Manager template that creates a Standard tier Service Bus namespace, and a queue within that namespace. Questo esempio è basato sul modello di Creare uno spazio dei nomi del bus di servizio con coda.This example is based on the Create a Service Bus namespace with queue template. Il flusso di lavoro è all'incirca il seguente:The approximate workflow is as follows:

  1. Installare PowerShell.Install PowerShell.
  2. Creare il modello e, facoltativamente, un file di parametri.Create the template and (optionally) a parameter file.
  3. In PowerShell accedere all'account Azure.In PowerShell, log in to your Azure account.
  4. Se non esiste, creare un nuovo gruppo di risorse.Create a new resource group if one does not exist.
  5. Testare la distribuzione.Test the deployment.
  6. Facoltativamente, è possibile impostare la modalità di distribuzione.If desired, set the deployment mode.
  7. Distribuire il modello.Deploy the template.

Per informazioni più complete sulla distribuzione dei modelli di Azure Resource Manager, vedere Distribuire le risorse con i modelli di Azure Resource Manager.For complete information about deploying Azure Resource Manager templates, see Deploy resources with Azure Resource Manager templates.

Installare PowerShellInstall PowerShell

Installare Azure PowerShell seguendo le istruzioni riportate in Introduzione ai cmdlet di Azure PowerShell.Install Azure PowerShell by following the instructions in Getting started with Azure PowerShell.

Creare un modelloCreate a template

Clonare o copiare il modello 201-servicebus-create-queue da GitHub:Clone or copy the 201-servicebus-create-queue template from GitHub:

{
  "$schema": "http://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]"
    }
  }
}

Creare un file di parametri (facoltativo)Create a parameters file (optional)

Per usare un file di parametri facoltativo, copiare il file 201-servicebus-create-queue.To use an optional parameters file, copy the 201-servicebus-create-queue file. Sostituire il valore di serviceBusNamespaceName con il nome dello spazio dei nomi del bus di servizio che si vuole creare in questa distribuzione e sostituire il valore di serviceBusQueueName con il nome della coda che si vuole creare.Replace the value of serviceBusNamespaceName with the name of the Service Bus namespace you want to create in this deployment, and replace the value of serviceBusQueueName with the name of the queue you want to create.

{
    "$schema": "http://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"
        }
    }
}

Per altre informazioni, vedere l'articolo Parametri.For more information, see the Parameters article.

Accedere ad Azure e impostare la sottoscrizione di AzureLog in to Azure and set the Azure subscription

Al prompt di PowerShell, eseguire il comando seguente:From a PowerShell prompt, run the following command:

Login-AzureRmAccount

Il sistema chiede di accedere all'account Azure.You are prompted to log on to your Azure account. Dopo l'accesso, eseguire il comando seguente per visualizzare le sottoscrizioni disponibili:After logging on, run the following command to view your available subscriptions:

Get-AzureRMSubscription

Questo comando restituisce un elenco delle sottoscrizioni di Azure disponibili.This command returns a list of available Azure subscriptions. Scegliere una sottoscrizione per la sessione corrente eseguendo il comando seguente.Choose a subscription for the current session by running the following command. Sostituire <YourSubscriptionId> con il GUID della sottoscrizione di Azure che si vuole usare:Replace <YourSubscriptionId> with the GUID for the Azure subscription you want to use:

Set-AzureRmContext -SubscriptionID <YourSubscriptionId>

Impostare il gruppo di risorseSet the resource group

Se non è disponibile un gruppo di risorse, creare un nuovo gruppo di risorse con il comando New-AzureRmResourceGroup.If you do not have an existing resource group, create a new resource group with the **New-AzureRmResourceGroup ** command. Specificare il nome del gruppo di risorse e la posizione che si vuole usare,Provide the name of the resource group and location you want to use. ad esempio:For example:

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

Se il nuovo gruppo di risorse è stato creato correttamente, viene visualizzato il relativo riepilogo.If successful, a summary of the new resource group is displayed.

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

Test della distribuzioneTest the deployment

Convalidare la distribuzione eseguendo il cmdlet Test-AzureRmResourceGroupDeployment.Validate your deployment by running the Test-AzureRmResourceGroupDeployment cmdlet. Durante il test della distribuzione, specificare esattamente gli stessi parametri di quando si esegue la distribuzione.When testing the deployment, provide parameters exactly as you would when executing the deployment.

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

Creare la distribuzioneCreate the deployment

Per creare la nuova distribuzione, eseguire il cmdlet New-AzureRmResourceGroupDeployment e specificare i parametri necessari quando viene richiesto.To create the new deployment, run the New-AzureRmResourceGroupDeployment cmdlet, and provide the necessary parameters when prompted. I parametri includono il nome della distribuzione, il nome del gruppo di risorse e il percorso o l'URL del file di modello.The parameters include a name for your deployment, the name of your resource group, and the path or URL to the template file. Se il parametro Mode non è specificato, viene usato il valore predefinito Incremental.If the Mode parameter is not specified, the default value of Incremental is used. Per altre informazioni, vedere Distribuzioni incrementali e complete.For more information, see Incremental and complete deployments.

Il comando seguente richiede tre parametri nella finestra di PowerShell:The following command prompts you for the three parameters in the PowerShell window:

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

Per specificare invece un file di parametri, usare il comando seguente:To specify a parameters file instead, use the following command:

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

È anche possibile usare i parametri inline quando si esegue il cmdlet di distribuzione.You can also use inline parameters when you run the deployment cmdlet. Il comando è il seguente:The command is as follows:

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

Per eseguire una distribuzione completa, impostare il parametro Mode su Complete:To run a complete deployment, set the Mode parameter to Complete:

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

Verificare la distribuzioneVerify the deployment

Se le risorse vengono distribuite correttamente, nella finestra di PowerShell viene visualizzato il riepilogo della distribuzione:If the resources are deployed successfully, a summary of the deployment is displayed in the PowerShell window:

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

Passaggi successiviNext steps

Finora sono stati illustrati il flusso di lavoro di base e i comandi per la distribuzione di un modello di Azure Resource Manager.You've now seen the basic workflow and commands for deploying an Azure Resource Manager template. Per informazioni più dettagliate, visitare i collegamenti seguenti:For more detailed information, visit the following links: