Creare risorse del bus di servizio usando i modelli di Azure Resource Manager
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.
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. Il modello, scritto in JSON, è costituito da espressioni che è possibile usare per creare valori per la distribuzione. 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.
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. Per altri esempi di modelli, visitare la raccolta dei modelli di avvio rapido di Azure e cercare bus di servizio.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Modelli di Resource Manager per il bus di servizio
I modelli di Azure Resource Manager del bus di servizio sono disponibili per il download e la distribuzione. Fare clic sui collegamenti seguenti per informazioni dettagliate su ognuno di essi, con collegamenti ai modelli su GitHub:
- Creare uno spazio dei nomi del bus di servizio
- Creare uno spazio dei nomi del bus di servizio con coda
- Creare uno spazio dei nomi del bus di servizio con argomento e sottoscrizione
- Creare uno spazio dei nomi del bus di servizio con coda e regola di autorizzazione
- Creare uno spazio dei nomi del bus di servizio con argomento, sottoscrizione e regola
Eseguire la distribuzione con 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. Questo esempio è basato sul modello di Creare uno spazio dei nomi del bus di servizio con coda. Il flusso di lavoro è all'incirca il seguente:
- Installare PowerShell.
- Creare il modello e, facoltativamente, un file di parametri.
- In PowerShell accedere all'account Azure.
- Se non esiste, creare un nuovo gruppo di risorse.
- Testare la distribuzione.
- Facoltativamente, è possibile impostare la modalità di distribuzione.
- Distribuire il modello.
Per informazioni più complete sulla distribuzione dei modelli di Azure Resource Manager, vedere Distribuire le risorse con i modelli di Azure Resource Manager.
Installare PowerShell
Installare Azure PowerShell seguendo le istruzioni riportate in Introduzione ai cmdlet di Azure PowerShell.
Crea un modello
Clonare il repository o copiare il modello servicebus-create-queue da 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]"
}
}
}
Creare un file di parametri (facoltativo)
Per usare un file di parametri facoltativo, copiare il file servicebus-create-queue . 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.
{
"$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"
}
}
}
Per altre informazioni, vedere l'articolo Parametri.
Accedere ad Azure e impostare la sottoscrizione di Azure
Al prompt di PowerShell, eseguire il comando seguente:
Connect-AzAccount
Il sistema chiede di accedere all'account Azure. Dopo l'accesso, eseguire il comando seguente per visualizzare le sottoscrizioni disponibili:
Get-AzSubscription
Questo comando restituisce un elenco delle sottoscrizioni di Azure disponibili. Scegliere una sottoscrizione per la sessione corrente eseguendo il comando seguente. Sostituire <YourSubscriptionId>
con il GUID della sottoscrizione di Azure che si vuole usare:
Set-AzContext -SubscriptionID <YourSubscriptionId>
Impostare il gruppo di risorse
Se non è disponibile un gruppo di risorse esistente, creare un nuovo gruppo di risorse con il comando New-AzResourceGroup. Specificare il nome del gruppo di risorse e la posizione che si vuole usare, Ad esempio:
New-AzResourceGroup -Name MyDemoRG -Location "West US"
Se il nuovo gruppo di risorse è stato creato correttamente, viene visualizzato il relativo riepilogo.
ResourceGroupName : MyDemoRG
Location : westus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
Testare la distribuzione
Convalidare la distribuzione eseguendo il cmdlet Test-AzResourceGroupDeployment
. Durante il test della distribuzione, specificare esattamente gli stessi parametri di quando si esegue la distribuzione.
Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Creare la distribuzione
Per creare la nuova distribuzione, eseguire il cmdlet New-AzResourceGroupDeployment
e specificare i parametri necessari quando viene richiesto. I parametri includono il nome della distribuzione, il nome del gruppo di risorse e il percorso o l'URL del file di modello. Se il parametro Mode non è specificato, viene usato il valore predefinito Incremental. Per altre informazioni, vedere Distribuzioni incrementali e complete.
Il comando seguente richiede tre parametri nella finestra di PowerShell:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Per specificare invece un file di parametri, usare il comando seguente:
New-AzResourceGroupDeployment -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. Il comando è il seguente:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
Per eseguire una distribuzione completa, impostare il parametro Mode su Complete:
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
Verificare la distribuzione
Se le risorse vengono distribuite correttamente, nella finestra di PowerShell viene visualizzato il riepilogo della distribuzione:
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 successivi
Finora sono stati illustrati il flusso di lavoro di base e i comandi per la distribuzione di un modello di Azure Resource Manager. Per informazioni più dettagliate, visitare i collegamenti seguenti: