Tworzenie grup zasobów przy użyciu Bicep
Możesz użyć Bicep, aby utworzyć nową grupę zasobów. W tym artykule przedstawiono sposób tworzenia grup zasobów podczas wdrażania w subskrypcji lub innej grupie zasobów.
Definiowanie grupy zasobów
Aby utworzyć grupę zasobów za pomocą Bicep, zdefiniuj zasób Microsoft.Resources/resourceGroups o nazwie i lokalizacji dla grupy zasobów.
W poniższym przykładzie pokazano plik Bicep, który tworzy pustą grupę zasobów. Zwróć uwagę, że jego zakres docelowy to subscription
.
targetScope='subscription'
param resourceGroupName string
param resourceGroupLocation string
resource newRG 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: resourceGroupName
location: resourceGroupLocation
}
Aby wdrożyć plik Bicep w subskrypcji, użyj poleceń wdrażania na poziomie subskrypcji.
W przypadku interfejsu wiersza polecenia platformy Azure użyj polecenia az deployment sub create.
az deployment sub create \
--name demoSubDeployment \
--location centralus \
--template-file resourceGroup.bicep \
--parameters resourceGroupName=demoResourceGroup resourceGroupLocation=centralus
W przypadku polecenia wdrażania programu PowerShell użyj polecenia New-AzDeployment lub jego aliasu New-AzSubscriptionDeployment
.
New-AzSubscriptionDeployment `
-Name demoSubDeployment `
-Location centralus `
-TemplateFile resourceGroup.bicep `
-resourceGroupName demoResourceGroup `
-resourceGroupLocation centralus
Tworzenie grupy zasobów i zasobów
Aby utworzyć grupę zasobów i wdrożyć w niej zasoby, dodaj moduł definiujący zasoby do wdrożenia w grupie zasobów. Ustaw zakres modułu na nazwę symboliczną utworzonej grupy zasobów. Można wdrożyć maksymalnie 800 grup zasobów.
W poniższym przykładzie przedstawiono plik Bicep, który tworzy grupę zasobów i wdraża konto magazynu w grupie zasobów. Zwróć uwagę, że scope
właściwość modułu jest ustawiona na newRG
, czyli symboliczną nazwę tworzonej grupy zasobów.
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
}
}
Moduł używa pliku Bicep o nazwie storage.bicep z następującą zawartością:
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: {}
}
Tworzenie grupy zasobów podczas wdrażania grupy zasobów
Grupę zasobów można również utworzyć podczas wdrażania na poziomie grupy zasobów. W tym scenariuszu wdrożysz istniejącą grupę zasobów i przejdziesz na poziom subskrypcji, aby utworzyć grupę zasobów. Poniższy plik Bicep tworzy nową grupę zasobów w określonej subskrypcji. Moduł, który tworzy grupę zasobów, jest taki sam jak w przykładzie, który tworzy grupę zasobów.
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
}
}
Aby wdrożyć w grupie zasobów, użyj poleceń wdrażania grupy zasobów.
W przypadku interfejsu wiersza polecenia platformy Azure użyj polecenia 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
W przypadku polecenia wdrażania programu PowerShell użyj polecenia New-AzResourceGroupDeployment.
New-AzResourceGroupDeployment `
-Name demoRGDeployment `
-ResourceGroupName ExampleGroup `
-TemplateFile main.bicep `
-secondResourceGroup newRG `
-secondSubscriptionID {sub-id} `
-secondLocation westus
Następne kroki
Aby dowiedzieć się więcej o innych zakresach, zobacz: