Share via


Creare gruppi di risorse usando Bicep

È possibile usare Bicep per creare un nuovo gruppo di risorse. Questo articolo illustra come creare gruppi di risorse durante la distribuzione nella sottoscrizione o in un altro gruppo di risorse.

Definire il gruppo di risorse

Per creare un gruppo di risorse con Bicep, definire una risorsa Microsoft.Resources/resourceGroups con un nome e una posizione per il gruppo di risorse.

L'esempio seguente mostra un file Bicep che crea un gruppo di risorse vuoto. Si noti che l'ambito di destinazione è subscription.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: resourceGroupName
  location: resourceGroupLocation
}

Per distribuire il file Bicep in una sottoscrizione, usare i comandi di distribuzione a livello di sottoscrizione.

Per l'interfaccia della riga di comando di Azure usare az deployment sub create.

az deployment sub create \
  --name demoSubDeployment \
  --location centralus \
  --template-file resourceGroup.bicep \
  --parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus

Per il comando di distribuzione di PowerShell, usare New-AzDeployment o il suo alias New-AzSubscriptionDeployment.

New-AzSubscriptionDeployment `
  -Name demoSubDeployment `
  -Location centralus `
  -TemplateFile resourceGroup.bicep `
  -resourceGroupName demoResourceGroup `
  -resourceGroupLocation centralus

Creare risorse e un gruppo di risorse

Per creare il gruppo di risorse e distribuirvi le risorse, aggiungere un modulo che definisce le risorse da distribuire nel gruppo di risorse. Impostare l'ambito del modulo sul nome simbolico del gruppo di risorse creato. È possibile eseguire la distribuzione in un massimo di 800 gruppi di risorse.

L'esempio seguente mostra un file Bicep che crea un gruppo di risorse e distribuisce un account di archiviazione nel gruppo di risorse. Si noti che la proprietà scope per il modulo è impostata su newRG, ovvero il nome simbolico per il gruppo di risorse creato.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string
param storageName string
param storageLocation string

resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: resourceGroupName
  location: resourceGroupLocation
}

module storageAcct 'storage.bicep' = {
  name: 'storageModule'
  scope: newRG
  params: {
    storageLocation: storageLocation
    storageName: storageName
  }
}

Il modulo usa un file Bicep denominato storage.bicep con il contenuto seguente:

param storageLocation string
param storageName string

resource storageAcct 'Microsoft.Storage/storageAccounts@2022-09-01' = {
  name: storageName
  location: storageLocation
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'Storage'
  properties: {}
}

Creare un gruppo di risorse durante la distribuzione del gruppo di risorse

È anche possibile creare un gruppo di risorse durante una distribuzione a livello di gruppo di risorse. Per questo scenario, si esegue la distribuzione in un gruppo di risorse esistente e si passa al livello di una sottoscrizione per creare un gruppo di risorse. Il file Bicep seguente crea un nuovo gruppo di risorse nella sottoscrizione specificata. Il modulo che crea il gruppo di risorse è lo stesso dell'esempio che crea il gruppo di risorse.

param secondResourceGroup string
param secondSubscriptionID string = ''
param secondLocation string

// module deployed at subscription level
module newRG 'resourceGroup.bicep' = {
  name: 'newResourceGroup'
  scope: subscription(secondSubscriptionID)
  params: {
    resourceGroupName: secondResourceGroup
    resourceGroupLocation: secondLocation
  }
}

Per eseguire la distribuzione in un gruppo di risorse, usare i comandi di distribuzione del gruppo di risorse.

Per l'interfaccia della riga di comando di Azure, usare az deployment group create.

az deployment group create \
  --name demoRGDeployment \
  --resource-group ExampleGroup \
  --template-file main.bicep \
  --parameters secondResourceGroup=newRG secondSubscriptionID={sub-id} secondLocation=westus

Per il comando di distribuzione di PowerShell, usare New-AzResourceGroupDeployment.

New-AzResourceGroupDeployment `
  -Name demoRGDeployment `
  -ResourceGroupName ExampleGroup `
  -TemplateFile main.bicep `
  -secondResourceGroup newRG `
  -secondSubscriptionID {sub-id} `
  -secondLocation westus

Passaggi successivi

Per altre informazioni sugli altri ambiti, vedere: