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@2024-03-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@2024-03-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@2023-04-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: