Bicep için kapsam işlevleri
Bu makalede kapsam değerlerini almaya yönelik Bicep işlevleri açıklanmaktadır.
managementGroup
managementGroup()
Geçerli dağıtımdaki yönetim grubundan özelliklere sahip bir nesne döndürür.
managementGroup(identifier)
Kapsamı bir yönetim grubuna ayarlamak için kullanılan nesneyi döndürür.
Ad alanı: az.
Açıklamalar
managementGroup()
yalnızca bir yönetim grubu dağıtımlarında kullanılabilir. Dağıtım işlemi için geçerli yönetim grubunu döndürür. Bir kapsam nesnesi alırken veya geçerli yönetim grubunun özelliklerini alırken kullanın.
managementGroup(identifier)
herhangi bir dağıtım kapsamı için kullanılabilir, ancak yalnızca kapsam nesnesi elde edilirken kullanılabilir. Bir yönetim grubunun özelliklerini almak için yönetim grubu tanımlayıcısını geçiremezsiniz.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
identifier | Hayır | Dize | Dağıtılacak yönetim grubunun benzersiz tanımlayıcısı. Yönetim grubu için görünen adı kullanmayın. Bir değer sağlamazsanız geçerli yönetim grubu döndürülür. |
Dönüş değeri
Modül veya uzantı kaynak türünde özelliğini ayarlamak scope
için kullanılan nesne. Veya geçerli yönetim grubunun özelliklerine sahip bir nesne.
Yönetim grubu örneği
Aşağıdaki örnek, bir modülün kapsamını bir yönetim grubuna ayarlar.
param managementGroupIdentifier string
module 'mgModule.bicep' = {
name: 'deployToMG'
scope: managementGroup(managementGroupIdentifier)
}
Sonraki örnek, geçerli yönetim grubunun özelliklerini döndürür.
targetScope = 'managementGroup'
var mgInfo = managementGroup()
output mgResult object = mgInfo
Şunu döndürür:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "00000000-0000-0000-0000-000000000000"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
Sonraki örnek yeni bir yönetim grubu oluşturur ve üst yönetim grubunu ayarlamak için bu işlevi kullanır.
targetScope = 'managementGroup'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource newMG 'Microsoft.Management/managementGroups@2023-04-01' = {
scope: tenant()
name: mgName
properties: {
details: {
parent: {
id: managementGroup().id
}
}
}
}
output newManagementGroup string = mgName
resourceGroup
resourceGroup()
Geçerli kaynak grubunu temsil eden bir nesne döndürür.
resourceGroup(resourceGroupName)
And
resourceGroup(subscriptionId, resourceGroupName)
Kapsamı bir kaynak grubuna ayarlamak için kullanılan bir nesneyi döndürür.
Ad alanı: az.
Açıklamalar
resourceGroup işlevinin iki ayrı kullanımları vardır. Kullanımlardan biri, bir modülde veya uzantı kaynak türünde kapsamı ayarlamak içindir. Diğer kullanım, geçerli kaynak grubuyla ilgili ayrıntıları almak içindir. işlevinin yerleşimi, işlevinin kullanımını belirler. özelliğini ayarlamak scope
için kullanıldığında bir kapsam nesnesi döndürür.
resourceGroup()
, kapsamı ayarlamak veya kaynak grubuyla ilgili ayrıntıları almak için kullanılabilir.
resourceGroup(resourceGroupName)
ve resourceGroup(subscriptionId, resourceGroupName)
yalnızca kapsamı ayarlamak için kullanılabilir.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
resourceGroupName | Hayır | Dize | Dağıtılacak kaynak grubunun adı. Bir değer sağlamazsanız, geçerli kaynak grubu döndürülür. |
subscriptionId | Hayır | Dize | Dağıtılacak aboneliğin benzersiz tanımlayıcısı. Bir değer sağlamazsanız geçerli abonelik döndürülür. |
Dönüş değeri
Kapsam ayarlamak için kullanıldığında işlev, modül veya uzantı kaynak türündeki scope
özelliği için geçerli olan bir nesne döndürür.
Kaynak grubuyla ilgili ayrıntıları almak için kullanıldığında işlev aşağıdaki biçimi döndürür:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
managedBy özelliği yalnızca başka bir hizmet tarafından yönetilen kaynakları içeren kaynak grupları için döndürülür. Yönetilen Uygulamalar, Databricks ve AKS için özelliğin değeri, yönetilen kaynağın kaynak kimliğidir.
Kaynak grubu örneği
Aşağıdaki örnek, bir modülün kapsamını bir kaynak grubu olarak kapsar.
param resourceGroupName string
module exampleModule 'rgModule.bicep' = {
name: 'exampleModule'
scope: resourceGroup(resourceGroupName)
}
Sonraki örnek, kaynak grubunun özelliklerini döndürür.
output resourceGroupOutput object = resourceGroup()
Aşağıdaki biçimde bir nesne döndürür:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
resourceGroup işlevinin yaygın kullanımlarından biri, kaynak grubuyla aynı konumda kaynak oluşturmaktır. Aşağıdaki örnek, varsayılan parametre değeri için kaynak grubu konumunu kullanır.
param location string = resourceGroup().location
Kaynak grubundan kaynağa etiket uygulamak için resourceGroup işlevini de kullanabilirsiniz. Daha fazla bilgi için bkz . Kaynak grubundan etiket uygulama.
aboneliği
subscription()
Geçerli dağıtım için abonelikle ilgili ayrıntıları döndürür.
subscription(subscriptionId)
Kapsamı bir aboneliğe ayarlamak için kullanılan nesneyi döndürür.
Ad alanı: az.
Açıklamalar
Abonelik işlevinin iki ayrı kullanım özelliği vardır. Kullanımlardan biri, bir modülde veya uzantı kaynak türünde kapsamı ayarlamak içindir. Diğer kullanım ise geçerli abonelikle ilgili ayrıntıları almak içindir. işlevinin yerleşimi, işlevinin kullanımını belirler. özelliğini ayarlamak scope
için kullanıldığında bir kapsam nesnesi döndürür.
subscription(subscriptionId)
yalnızca kapsamı ayarlamak için kullanılabilir.
subscription()
kapsamı ayarlamak veya abonelikle ilgili ayrıntıları almak için kullanılabilir.
Parametreler
Parametre | Zorunlu | Türü | Açıklama |
---|---|---|---|
subscriptionId | Hayır | Dize | Dağıtılacak aboneliğin benzersiz tanımlayıcısı. Bir değer sağlamazsanız geçerli abonelik döndürülür. |
Dönüş değeri
Kapsam ayarlamak için kullanıldığında işlev, modül veya uzantı kaynak türündeki scope
özelliği için geçerli olan bir nesne döndürür.
Abonelikle ilgili ayrıntıları almak için kullanıldığında işlev aşağıdaki biçimi döndürür:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Abonelik örneği
Aşağıdaki örnek, bir modülün kapsamını aboneliğin kapsamına alır.
module exampleModule 'subModule.bicep' = {
name: 'deployToSub'
scope: subscription()
}
Sonraki örnek, bir aboneliğin ayrıntılarını döndürür.
output subscriptionOutput object = subscription()
tenant
tenant()
Kapsamı kiracı olarak ayarlamak için kullanılan bir nesne döndürür.
Or
Kullanıcının kiracısını döndürür.
Ad alanı: az.
Açıklamalar
tenant()
herhangi bir dağıtım kapsamıyla kullanılabilir. Her zaman geçerli kiracıyı döndürür. Bir kaynağın kapsamını ayarlamak veya geçerli kiracının özelliklerini almak için bu işlevi kullanabilirsiniz.
Dönüş değeri
Modül veya uzantı kaynak türünde özelliğini ayarlamak scope
için kullanılan nesne. Veya geçerli kiracıyla ilgili özelliklere sahip bir nesne.
Kiracı örneği
Aşağıdaki örnekte kiracıya dağıtılan bir modül gösterilmektedir.
module exampleModule 'tenantModule.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
Sonraki örnek bir kiracının özelliklerini döndürür.
var tenantInfo = tenant()
output tenantResult object = tenantInfo
Şunu döndürür:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "00000000-0000-0000-0000-000000000000"
}
}
Bazı kaynaklar için bir özelliğin kiracı kimliğinin ayarlanması gerekir. Kiracı kimliğini parametre olarak geçirmek yerine kiracı işleviyle alabilirsiniz.
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: 'examplekeyvault'
location: 'westus'
properties: {
tenantId: tenant().tenantId
...
}
}
Sonraki adımlar
Dağıtım kapsamları hakkında daha fazla bilgi edinmek için bkz:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin