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 grubu için özellikler 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 | Gerekli | Tür | Açıklama |
---|---|---|---|
tanımlayıcı | No | string | 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öndürülen değer
Bir modülde 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@2020-05-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 farklı kullanımı vardır. Kullanımlardan biri, bir modül veya uzantı kaynak türünde kapsamı ayarlamaktır. 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 | Gerekli | Tür | Açıklama |
---|---|---|---|
resourceGroupName | No | string | Dağıtılacak kaynak grubunun adı. Bir değer sağlamazsanız, geçerli kaynak grubu döndürülür. |
subscriptionId | No | string | 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öndürülen değer
Kapsamı ayarlamak için kullanıldığında işlev, bir modül veya uzantı kaynak türündeki scope
özelliği için geçerli olan bir nesne döndürür.
İşlev, kaynak grubuyla ilgili ayrıntıları almak için kullanıldığında 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önetim kaynağını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 bir 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 farklı kullanımı vardır. Kullanımlardan biri, bir modül veya uzantı kaynak türünde kapsamı ayarlamaktır. Diğer kullanım, 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 | Gerekli | Tür | Açıklama |
---|---|---|---|
subscriptionId | No | string | 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öndürülen değer
Kapsamı ayarlamak için kullanıldığında işlev, bir 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, aboneliğin kapsamını bir modülün 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()
Kiracı
tenant()
Kapsamı kiracı olarak ayarlamak için kullanılan bir nesne döndürür.
Veya
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öndürülen değer
Bir 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, bir özelliğin kiracı kimliğini ayarlamayı gerektirir. Kiracı kimliğini parametre olarak geçirmek yerine kiracı işleviyle alabilirsiniz.
resource kv 'Microsoft.KeyVault/vaults@2021-06-01-preview' = {
name: 'examplekeyvault'
location: 'westus'
properties: {
tenantId: tenant().tenantId
...
}
}
Sonraki adımlar
Dağıtım kapsamları hakkında daha fazla bilgi edinmek için bkz: