Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, bir kaynak grubuna dağıtılırken Bicep ile kapsamın nasıl ayarlanacağı açıklanır. Daha fazla bilgi için bk. Kapsamı anlama.
Desteklenen kaynaklar
Kaynakların çoğu bir kaynak grubuna dağıtılabilir. Kullanılabilir kaynakların listesi için ARM şablonları kılavuzuna başvurun.
Kapsamı ayarla
Bicep dosyasının kapsamı varsayılan olarak kaynak grubuna göre belirlenmiştir. Kapsamı açıkça ayarlamak istiyorsanız şunu kullanın:
targetScope = 'resourceGroup'
Ancak, hedef kapsamı kaynak grubuna ayarlamak gerekli değildir çünkü bu kapsam varsayılan olarak kullanılır.
Dağıtım komutları
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. Aşağıdaki örnek, kaynak grubu oluşturmak için bir şablon dağıtır. parametresinde --resource-group belirttiğiniz kaynak grubu hedef kaynak grubudur.
az deployment group create \
--name demoRGDeployment \
--resource-group ExampleGroup \
--template-file main.bicep \
--parameters storageAccountType=Standard_GRS
ARM şablonlarını dağıtmaya yönelik dağıtım komutları ve seçenekleri hakkında daha fazla bilgi için bkz:
- Resource Manager (ARM) dağıtım şablonlarını Azure CLI ile kullanma
- ARM şablonları ve Azure PowerShell ile kaynak dağıtma
- Cloud Shell'den ARM şablonları dağıtma
Dağıtım kapsamları
Bicep dosyasında resource anahtar sözcüğüyle bildirilen tüm kaynakların dağıtımla aynı kapsamda dağıtılması gerekir. Kaynak grubu dağıtımı için bu, Bicep dosyasındaki tüm resource bildirimlerin dağıtımla aynı kaynak grubundaki bir kaynağın alt veya uzantı kaynağı olarak dağıtılması gerektiği anlamına gelir.
Ancak bu kısıtlama kaynaklar için existing geçerli değildir. Var olan kaynaklara dağıtımdan farklı bir kapsamda başvurabilirsiniz.
Kaynakları tek bir dağıtımda birden çok kapsamda dağıtmak için modülleri kullanın. Modül dağıtmak, iç içe bir dağıtım tetikleyerek farklı kapsamları hedeflemenizi sağlar. Üst düzey Bicep dosyasını dağıtan kullanıcının, belirtilen kapsamlar dahilinde dağıtımları başlatmak için gerekli izinlere sahip olması gerekir.
Bir kaynağı, resource-group-scope Bicep dosyasının içinden aşağıdaki kapsamlar dahilinde dağıtabilirsiniz:
- Aynı kaynak grubu
- Aynı abonelikteki diğer kaynak grupları
- Diğer aboneliklerdeki diğer kaynak grupları
- Abonelik
- Kiracı
Hedef kaynak grubuna kapsam
Kaynakları hedef kaynak grubuna dağıtmak için bu kaynakları Bicep dosyasına ekleyin.
// resource deployed to target resource group
resource exampleResource 'Microsoft.Storage/storageAccounts@2025-06-01' = {
...
}
Örnek bir şablon için bkz . Hedef kaynak grubuna dağıtma.
Farklı kaynak grubunun kapsamı
Kaynakları hedef kaynak grubu olmayan bir kaynak grubuna dağıtmak için bir modül ekleyin. bu modülün resourceGroupscope özelliğini ayarlamak için işlevini kullanın.
Kaynak grubu farklı bir abonelikteyse, abonelik kimliğini ve kaynak grubunun adını belirtin. Kaynak grubu geçerli dağıtımla aynı abonelikteyse, yalnızca kaynak grubunun adını belirtin. İşlevde resourceGroup bir abonelik belirtmezseniz geçerli abonelik kullanılır.
Aşağıdaki örnekte farklı bir abonelikteki kaynak grubunu hedefleyen bir modül gösterilmektedir:
param otherResourceGroup string
param otherSubscriptionID string
// module deployed to different subscription and resource group
module exampleModule 'module.bicep' = {
name: 'otherSubAndRG'
scope: resourceGroup(otherSubscriptionID, otherResourceGroup)
}
Sonraki örnekte, aynı abonelikteki bir kaynak grubunu hedefleyen bir modül gösterilmektedir:
param otherResourceGroup string
// module deployed to resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'otherRG'
scope: resourceGroup(otherResourceGroup)
}
Örnek şablon için bkz . Birden çok kaynak grubuna dağıtma.
Scope to subscription
To deploy resources to a subscription, add a module. Use the [abonelikfunction](bicep-functions-scope.md#subscription) to set itskapsamı' özelliği.
To deploy to the current subscription, use the subscription function without a parameter.
// module deployed at subscription level
module exampleModule 'module.bicep' = {
name: 'deployToSub'
scope: subscription()
}
Farklı bir aboneliğe dağıtmak için bu abonelik kimliğini işlevde subscription parametre olarak belirtin.
param otherSubscriptionID string
// module deployed at subscription level but in a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToSub'
scope: subscription(otherSubscriptionID)
}
Scope to tenant
Kiracıda kaynak oluşturmak için bir modül ekleyin. Use the tenant function to set its scope property.
Şablonu dağıtan kullanıcının kiracıda dağıtmak için gerekli erişime sahip olması gerekir.
Aşağıdaki örnek, kiracıya dağıtan bir modül içerir:
// module deployed at tenant level
module exampleModule 'module.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Modül kullanmak yerine, bazı kaynak türleri için kapsamı tenant() olarak ayarlayabilirsiniz. The following example deploys a management group at the tenant:
param mgName string = 'mg-${uniqueString(newGuid())}'
// ManagementGroup deployed at tenant
resource managementGroup 'Microsoft.Management/managementGroups@2024-02-01-preview' = {
scope: tenant()
name: mgName
properties: {}
}
output output string = mgName
Daha fazla bilgi için bkz . Yönetim grubu.
Hedef kaynak grubuna dağıtma
Kaynakları hedef kaynak grubuna dağıtmak için bu kaynakları şablonun resources bölümünde tanımlayın. Aşağıdaki şablon, dağıtım işleminde belirtilen kaynak grubunda bir depolama hesabı oluşturur:
@minLength(3)
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_RAGRS'
'Standard_ZRS'
'Premium_LRS'
'Premium_ZRS'
'Standard_GZRS'
'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'
param location string = resourceGroup().location
var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
resource stg 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Birden çok kaynak grubuna dağıtma
Bir Bicep dosyasında birden fazla kaynak grubuna dağıtabilirsiniz.
Note
Bir dağıtımda en fazla 800 kaynak grubu dağıtabilirsiniz. Bu sınırlama genellikle üst şablon için belirtilen bir kaynak grubuna ve iç içe veya bağlı dağıtımlarda en fazla 799 kaynak grubuna dağıtım yapabileceğiniz anlamına gelir. Ancak, üst şablonunuz yalnızca iç içe veya bağlantılı şablonlar içeriyorsa ve kendisi herhangi bir kaynak dağıtmıyorsa, iç içe veya bağlantılı dağıtımlara en fazla 800 kaynak grubu ekleyebilirsiniz.
Aşağıdaki örnekte iki depolama hesabı dağıtılır. İlk depolama hesabı, dağıtım işleminde belirtilen kaynak grubuna dağıtılır. İkinci depolama hesabı, secondResourceGroup ve secondSubscriptionID parametrelerinde belirtilen kaynak grubuna dağıtılır.
@maxLength(11)
param storagePrefix string
param firstStorageLocation string = resourceGroup().location
param secondResourceGroup string
param secondSubscriptionID string = ''
param secondStorageLocation string
var firstStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
var secondStorageName = '${storagePrefix}${uniqueString(secondSubscriptionID, secondResourceGroup)}'
module firstStorageAcct 'storage.bicep' = {
name: 'storageModule1'
params: {
storageLocation: firstStorageLocation
storageName: firstStorageName
}
}
module secondStorageAcct 'storage.bicep' = {
name: 'storageModule2'
scope: resourceGroup(secondSubscriptionID, secondResourceGroup)
params: {
storageLocation: secondStorageLocation
storageName: secondStorageName
}
}
Her iki modül de storage.bicep adlı aynı Bicep dosyasını kullanır:
param storageLocation string
param storageName string
resource storageAcct 'Microsoft.Storage/storageAccounts@2025-06-01' = {
name: storageName
location: storageLocation
sku: {
name: 'Standard_LRS'
}
kind: 'Storage'
properties: {}
}
Kaynak grubu oluştur
Örnek bir şablon ve kaynak grupları oluşturma hakkında daha fazla bilgi için bkz. Bicep ile kaynak grubu oluşturma.
Sonraki adımlar
Diğer kapsamlar hakkında bilgi edinmek için bkz: