Share via


Bicep kullanarak kaynak grupları oluşturma

Bicep'i kullanarak yeni bir kaynak grubu oluşturabilirsiniz. Bu makalede, aboneliğe veya başka bir kaynak grubuna dağıtım yaparken kaynak gruplarının nasıl oluşturulacağı gösterilmektedir.

Kaynak grubunu tanımlama

Bicep ile bir kaynak grubu oluşturmak için, kaynak grubunun adı ve konumuyla bir Microsoft.Resources/resourceGroups kaynağı tanımlayın.

Aşağıdaki örnekte boş bir kaynak grubu oluşturan bir Bicep dosyası gösterilmektedir. Hedef kapsamının olduğuna subscriptiondikkat edin.

targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

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

Bicep dosyasını bir aboneliğe dağıtmak için abonelik düzeyi dağıtım komutlarını kullanın.

Azure CLI için az deployment sub create komutunu kullanın.

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

PowerShell dağıtım komutu için New-AzDeployment veya diğer adını New-AzSubscriptionDeploymentkullanın.

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

Kaynak grubu ve kaynak oluşturma

Kaynak grubunu oluşturmak ve ona kaynak dağıtmak için, kaynak grubuna dağıtılacak kaynakları tanımlayan bir modül ekleyin. Modülün kapsamını, oluşturduğunuz kaynak grubunun sembolik adına ayarlayın. En fazla 800 kaynak grubu dağıtabilirsiniz.

Aşağıdaki örnekte bir kaynak grubu oluşturan ve kaynak grubuna depolama hesabı dağıtan bir Bicep dosyası gösterilmektedir. Modülün özelliğinin scope , oluşturulan kaynak grubunun sembolik adı olan olarak ayarlandığına newRGdikkat edin.

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

Modülde aşağıdaki içeriklere sahip storage.bicep adlı bir Bicep dosyası kullanılır:

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

Kaynak grubu dağıtımı sırasında kaynak grubu oluşturma

Ayrıca, kaynak grubu düzeyinde dağıtım sırasında bir kaynak grubu da oluşturabilirsiniz. Bu senaryo için mevcut bir kaynak grubuna dağıtıp abonelik düzeyine geçerek kaynak grubu oluşturursunuz. Aşağıdaki Bicep dosyası, belirtilen abonelikte yeni bir kaynak grubu oluşturur. Kaynak grubunu oluşturan modül, kaynak grubunu oluşturan örnekle aynıdır.

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

Bir kaynak grubuna dağıtmak için kaynak grubu dağıtım komutlarını kullanın.

Azure CLI için az deployment group create komutunu kullanın.

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

PowerShell dağıtım komutu için New-AzResourceGroupDeployment komutunu kullanın.

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

Sonraki adımlar

Diğer kapsamlar hakkında bilgi edinmek için bkz: