Aracılığıyla paylaş


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: