Delen via


Resourcegroepen maken met Bicep

U kunt Bicep gebruiken om een nieuwe resourcegroep te maken. In dit artikel wordt beschreven hoe u resourcegroepen maakt bij de implementatie in het abonnement of een andere resourcegroep.

Resourcegroep definiëren

Als u een resourcegroep wilt maken met Bicep, definieert u een Microsoft.Resources/resourceGroups-resource met een naam en locatie voor de resourcegroep.

In het volgende voorbeeld ziet u een Bicep-bestand waarmee een lege resourcegroep wordt gemaakt. U ziet dat het doelbereik is subscription.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

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

Als u het Bicep-bestand wilt implementeren in een abonnement, gebruikt u de implementatieopdrachten op abonnementsniveau.

Gebruik az deployment sub create voor Azure CLI.

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

Voor de PowerShell-implementatieopdracht gebruikt u New-AzDeployment of de bijbehorende alias New-AzSubscriptionDeployment.

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

Resourcegroep en resources maken

Als u de resourcegroep wilt maken en er resources in wilt implementeren, voegt u een module toe waarmee de resources worden gedefinieerd die in de resourcegroep moeten worden geïmplementeerd. Stel het bereik voor de module in op de symbolische naam voor de resourcegroep die u maakt. U kunt implementeren naar maximaal 800 resourcegroepen.

In het volgende voorbeeld ziet u een Bicep-bestand dat een resourcegroep maakt en een opslagaccount implementeert in de resourcegroep. U ziet dat de scope eigenschap voor de module is ingesteld op newRG, de symbolische naam voor de resourcegroep die wordt gemaakt.

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
  }
}

De module maakt gebruik van een Bicep-bestand met de naam storage.bicep met de volgende inhoud:

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: {}
}

Resourcegroep maken tijdens de implementatie van de resourcegroep

U kunt ook een resourcegroep maken tijdens de implementatie op resourcegroepniveau. Voor dat scenario implementeert u naar een bestaande resourcegroep en schakelt u over naar het niveau van een abonnement om een resourcegroep te maken. Met het volgende Bicep-bestand maakt u een nieuwe resourcegroep in het opgegeven abonnement. De module waarmee de resourcegroep wordt gemaakt, is hetzelfde als het voorbeeld waarmee de resourcegroep wordt gemaakt.

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
  }
}

Als u wilt implementeren in een resourcegroep, gebruikt u de implementatieopdrachten van de resourcegroep.

Gebruik az deployment group create voor Azure CLI.

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

Gebruik New-AzResourceGroupDeployment voor de powerShell-implementatieopdracht.

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

Volgende stappen

Zie voor meer informatie over andere bereiken: