Vytvoření skupin prostředků pomocí bicepu

Pomocí nástroje Bicep můžete vytvořit novou skupinu prostředků. V tomto článku se dozvíte, jak vytvořit skupiny prostředků při nasazování do předplatného nebo do jiné skupiny prostředků.

Definování skupiny prostředků

Pokud chcete vytvořit skupinu prostředků pomocí bicepu, definujte prostředek Microsoft.Resources/resourceGroups s názvem a umístěním skupiny prostředků.

Následující příklad ukazuje soubor Bicep, který vytvoří prázdnou skupinu prostředků. Všimněte si, že jeho cílový obor je subscription.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

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

Pokud chcete nasadit soubor Bicep do předplatného, použijte příkazy nasazení na úrovni předplatného.

Pro Azure CLI použijte az deployment sub create.

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

Pro příkaz pro nasazení PowerShellu použijte New-AzDeployment nebo jeho alias New-AzSubscriptionDeployment.

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

Vytvoření skupiny prostředků a prostředků

Pokud chcete vytvořit skupinu prostředků a nasadit do ní prostředky, přidejte modul, který definuje prostředky, které se mají nasadit do skupiny prostředků. Obor modulu nastavte na symbolický název skupiny prostředků, kterou vytvoříte. Nasazení můžete provést až do 800 skupin prostředků.

Následující příklad ukazuje soubor Bicep, který vytvoří skupinu prostředků a nasadí do skupiny prostředků účet úložiště. Všimněte si, že scope vlastnost modulu je nastavená na newRG, což je symbolický název vytvářené skupiny prostředků.

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

Modul používá soubor Bicep s názvem storage.bicep s následujícím obsahem:

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

Vytvoření skupiny prostředků během nasazování skupiny prostředků

Skupinu prostředků můžete také vytvořit během nasazení na úrovni skupiny prostředků. Pro tento scénář nasadíte do existující skupiny prostředků a přepnete na úroveň předplatného, abyste vytvořili skupinu prostředků. Následující soubor Bicep vytvoří novou skupinu prostředků v zadaném předplatném. Modul, který vytváří skupinu prostředků, je stejný jako v příkladu, který skupinu prostředků vytváří.

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

K nasazení do skupiny prostředků použijte příkazy pro nasazení skupiny prostředků.

Pro Azure CLI použijte 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

Pro příkaz nasazení PowerShellu použijte New-AzResourceGroupDeployment.

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

Další kroky

Další informace o dalších oborech najdete tady: