Esercizio: Usare le funzioni di Azure Resource Manager per creare espressioni
In questo esercizio si crea un'espressione usando le funzioni del modello di Azure Resource Manager (ARM). L'espressione crea un nome univoco per ogni gruppo di risorse combinando un input di prefisso con un hash dell'ID del gruppo di risorse. Restituisce nomi di account di archiviazione di Azure come dev2hu6sbtr5 e staging5his8hgr67.
Nota
Questo esercizio è facoltativo. Se si vuole completare questo esercizio, è necessario creare una sottoscrizione di Azure prima di iniziare. Se non si ha un account Azure o non si vuole crearne uno in questo momento, è possibile leggere le istruzioni in modo da comprendere le informazioni presentate.
Creare il file del modello di ARM
Nel modulo precedente è stato creato un modello di ARM che ha distribuito un account di archiviazione. Al file sono stati aggiunti parametri e un output. Qui, inizi con quel file, ma l'output viene rimosso per ridurre il sovraccarico.
Aprire Visual Studio Code e creare un file denominato azuredeploy.json. Se è disponibile il file del modulo precedente, è possibile usare il file.
Sostituire il contenuto del file con il codice riportato di seguito:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageName": { "type": "string", "minLength": 3, "maxLength": 24 }, "storageSKU": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS" ] } }, "functions": [], "variables": {}, "resources": [ { "name": "[parameters('storageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-01-01", "tags": { "displayName": "[parameters('storageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } } ], "outputs": {} }Se il modulo precedente non è stato completato, si consiglia di rivedere il file. Si noti che il
storageNameparametro viene usato per passare un nome univoco per l'account di archiviazione.
Creare un'espressione per impostare un nome di account di archiviazione univoco
Anziché passare il nome dell'account di archiviazione, si modifica il parametro in modo da usare un prefisso per il nome dell'account di archiviazione. Questo parametro viene passato alla funzione concat nell'espressione.
Nella sezione
parametersmodificarestorageNamein storagePrefix.Impostare il valore dell'attributo
maxLength:del parametrostoragePrefixsu 11. La lunghezza massima per il nome di un account di archiviazione è di 24 caratteri e ci si vuole assicurare che l'hash aggiunto dalla funzione creata non causi il superamento di tale lunghezza.Creare l'espressione per impostare il nome dell'account di archiviazione univoco. Nella sezione
resourcesmodificare i valori degli attributiname:edisplayName:da"[parameters('storageName')]"a "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Hai imparato a conoscere questa espressione nell'unità precedente. Il file avrà un aspetto simile al seguente:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "type": "string", "minLength": 3, "maxLength": 11 }, "storageSKU": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS" ] } }, "functions": [], "variables": {}, "resources": [ { "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2025-01-01", "tags": { "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } } ], "outputs": {} }
Distribuire il modello ARM in Azure
Per distribuire questo modello in Azure, è necessario accedere all'account Azure dal terminale di Visual Studio Code. Verificare che gli strumenti dell'interfaccia della riga di comando di Azure siano installati.
Scegliere Nuovo terminale dal menu Terminale.
Se il menu a discesa sul lato destro della finestra del terminale visualizza bash, hai la shell giusta per lavorare. È possibile passare alla sezione successiva.
Una schermata che mostra la finestra del terminale di Visual Studio Code con bash nel menu a discesa.
Se non hai la shell corretta, seleziona la freccia giù e quindi seleziona Git Bash.
Passare alla directory nella cartella contenente il file del modello di ARM.
Accedere ad Azure
Dal terminale in Visual Studio Code eseguire il comando seguente per accedere ad Azure. Eseguendo questo comando viene aperta una finestra del browser che consente di accedere al proprio account:
az login
Nella finestra del browser visualizzata accedere al proprio account. Dopo avere effettuato l'accesso, verrà visualizzato un elenco di sottoscrizioni associate all'account nel terminale. La sottoscrizione predefinita è contrassegnata con un asterisco (*). Se si hanno più sottoscrizioni, selezionare la sottoscrizione da usare per questo esercizio.
Creare e impostare il gruppo di risorse predefinito
Per completare i passaggi di questo esercizio, è necessario usare un gruppo di risorse. È possibile usare un gruppo di risorse già creato oppure creare un nuovo gruppo di risorse specifico per questo esercizio. Se si sceglie di creare un nuovo gruppo di risorse, sarà più semplice pulire le risorse create durante l'esercizio. Se si dispone di un gruppo di risorse esistente e lo si imposta come gruppo di risorse predefinito, è possibile ignorare questa sessione.
az group create --name <resource-group-name> --location <location>
Sostituire <resource-group-name> con un nome univoco per il gruppo di risorse. Sostituire <la località> con l'area di Azure più vicina. Ad esempio, usare eastus per Stati Uniti orientali.
Impostando il gruppo di risorse predefinito, è possibile omettere tale parametro dai comandi dell'interfaccia della riga di comando di Azure in questo esercizio. Per impostare il gruppo di risorse, eseguire il comando seguente.
az configure --defaults group="<resource-group-name>"
Sostituire <resource-group-name> con il nome del gruppo di risorse.
Distribuire il modello in Azure
Nel modulo precedente sono stati descritti i comandi di distribuzione. Stiamo usando qui il comando az deployment group create dell'interfaccia della riga di comando di Azure.
Distribuire il modello usando i comandi dell'interfaccia della riga di comando di Azure nel terminale di Visual Studio Code. Ricordarsi di sostituire
{your-prefix}con una stringa diversa. Ad esempio, è possibile usare storage.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="addfunction-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-prefix}Nella prima sezione del codice si impostano le variabili dell'interfaccia della riga di comando di Azure per il percorso del file modello che si vuole distribuire e il nome della distribuzione. Si usa quindi il comando
az deployment group createper distribuire il modello in Azure.Si dovrebbe vedere il messaggio
Running...nel terminale.
Per distribuire questo modello in Azure, è necessario accedere all'account Azure dal terminale di Visual Studio Code. Assicurarsi di avere installato gli strumenti di Azure PowerShell .
Scegliere Nuovo terminale dal menu Terminale.
Se il menu a discesa sul lato destro della finestra del terminale visualizza pwsh, hai la shell giusta. È possibile passare alla sezione successiva.
Se non hai la shell corretta, seleziona la freccia verso il basso e quindi seleziona PowerShell nel menu a discesa.
Passare alla directory nella cartella contenente il file del modello di ARM.
Accedere ad Azure
Dal terminale in Visual Studio Code eseguire il comando seguente per accedere ad Azure.
Connect-AzAccount
Nella finestra del browser visualizzata (la finestra del browser potrebbe essere aperta dietro la finestra corrente, ridurre al minimo la finestra corrente per visualizzarla), accedere al proprio account. Dopo avere effettuato l'accesso, verrà visualizzato un elenco di sottoscrizioni associate all'account nel terminale. La sottoscrizione predefinita è contrassegnata con un asterisco (*). Se si hanno più sottoscrizioni, selezionare la sottoscrizione da usare per questo esercizio.
Creare e impostare il gruppo di risorse predefinito
Per completare i passaggi di questo esercizio, è necessario usare un gruppo di risorse. È possibile usare un gruppo di risorse già creato oppure creare un nuovo gruppo di risorse specifico per questo esercizio. Se si sceglie di creare un nuovo gruppo di risorse, sarà più semplice pulire le risorse create durante l'esercizio. Se si dispone di un gruppo di risorse esistente e lo si imposta come gruppo di risorse predefinito, è possibile ignorare questa sessione.
New-AzResourceGroup -Name <ResourceGroupName> -Location <Location>
Sostituire con un nome univoco per il gruppo di risorse. Sostituisci con la regione di Azure più vicina a te. Ad esempio, usare eastus per Stati Uniti orientali.
Impostando il gruppo di risorse predefinito, è possibile omettere tale parametro dai comandi dell'interfaccia della riga di comando di Azure in questo esercizio. Per impostare il gruppo di risorse, eseguire il comando seguente.
Set-AzDefault -ResourceGroupName <ResourceGroupName>
sostituire <ResourceGroupName> con il nome del gruppo di risorse.
Distribuire il modello in Azure
Distribuire il modello usando i comandi di Azure PowerShell nel terminale di Visual Studio Code. Ricordarsi di sostituire {your-prefix} con una stringa diversa. Ad esempio, è possibile usare storage.
$templateFile = "azuredeploy.json"
$today=Get-Date -Format "MM-dd-yyyy"
$deploymentName="addfunction-"+"$today"
New-AzResourceGroupDeployment `
-Name $deploymentName `
-TemplateFile $templateFile `
-storagePrefix {your-prefix}
Nella prima sezione del codice si impostano le variabili di Azure PowerShell per il percorso del file modello che si vuole distribuire e il nome della distribuzione. Si usa quindi il comando New-AzResourceGroupDeployment per distribuire il modello in Azure.
Controllare la distribuzione
Al termine della distribuzione, accedere al portale di Azure e assicurarti che sei nella sottoscrizione corretta. Per controllare la sottoscrizione, selezionare l'avatar nell'angolo superiore destro della pagina. Selezionare Cambia directory. Nell'elenco selezionare la directory appropriata.
Nel riquadro a sinistra, seleziona Gruppi di risorse.
Selezionare il nome del gruppo di risorse.
Nella sezione Panoramica si può notare che è stata completata una distribuzione:
Selezionare 1 riuscito per visualizzare i dettagli della distribuzione:
Selezionare addfunction per individuare le risorse distribuite:
Lasciare aperta la pagina nel browser in modo da poter controllare di nuovo le distribuzioni più avanti nel modulo.