Avvio rapido: Creare più istanze di risorse in Bicep
Articolo
Informazioni su come usare sintassi for differenti per creare più istanze di risorse in Bicep. Anche se questo articolo illustra solo la creazione di più istanze di risorse, è possibile usare gli stessi metodi per definire copie di modulo, variabile, proprietà o output. Per altre informazioni, vedere Cicli Bicep.
In questa sezione si definisce un file Bicep per la creazione di un account di archiviazione e quindi si distribuisce il file Bicep. Le sezioni successive forniscono gli esempi Bicep per sintassi for differenti. È possibile usare lo stesso metodo di distribuzione per distribuire ed sperimentare tali esempi. Se la distribuzione non riesce, è probabile che una delle due cause sia la seguente:
Il nome dell'account di archiviazione è troppo lungo. I nomi degli account di archiviazione devono avere una lunghezza compresa tra 3 e 24 caratteri e possono contenere solo numeri e lettere minuscole.
Il nome dell'account di archiviazione non è univoco. Nome dell'account di archiviazione deve essere univoco all'interno di Azure.
Il file Bicep seguente definisce un account di archiviazione:
resourceGroupName = "{provide-a-resource-group-name}"
templateFile="{provide-the-path-to-the-bicep-file}"
az group create --name $resourceGroupName --location eastus
az deployment group create --resource-group $resourceGroupName --template-file $templateFile
Un ciclo for con un indice viene usato nell'esempio seguente per creare due account di archiviazione:
param rgLocation string = resourceGroup().location
param storageCount int = 2
resource createStorages 'Microsoft.Storage/storageAccounts@2023-04-01' = [for i in range(0, storageCount): {
name: '${i}storage${uniqueString(resourceGroup().id)}'
location: rgLocation
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}]
output names array = [for i in range(0,storageCount) : {
name: createStorages[i].name
} ]
Il numero di indice viene usato come parte del nome dell'account di archiviazione. Dopo aver distribuito il file Bicep, si ottengono due account di archiviazione simili a:
All'interno di range(), il primo numero è il numero iniziale e il secondo è il numero di volte in cui verrà eseguito il ciclo. Pertanto, se si cambia in range(3,2), si ottengono anche due account di archiviazione:
L'output dell'esempio precedente mostra come fare riferimento alle risorse create in un ciclo. L'output è simile a:
Il ciclo crea due account di archiviazione. Lo SKU dell'account di archiviazione con il nome che inizia con fabrikam è Premium_LRS.
Usare array e indice
Negli stessi casi, è possibile combinare un ciclo di matrici con un ciclo di indice. Nell'esempio seguente viene illustrato come usare l'array e il numero di indice per la convenzione di denominazione.
Dopo aver distribuito l'esempio precedente, si creano due account di archiviazione simili a:
Usa oggetto del dizionario
Per scorrere gli elementi in un oggetto dizionario, usare la funzione elementi, che converte l'oggetto in un array. Utilizzare la proprietà value per ottenere proprietà sugli oggetti.
Quando le risorse non sono più necessarie, usare l'interfaccia della riga di comando di Azure o il modulo di Azure PowerShell per eliminare il gruppo di risorse dell'argomento di avvio rapido.
Creare modelli Bicep avanzati usando le condizioni per distribuire le risorse in modo condizionale e i cicli per distribuire più istanze delle risorse.
Progettare soluzioni end-to-end in Microsoft Azure per creare Funzioni di Azure, implementare e gestire app Web, sviluppare soluzioni che usano Archiviazione di Azure e altro ancora.