Aracılığıyla paylaş


ARM şablonları için kapsam işlevleri

Azure Resource Manager, Azure Resource Manager şablonunuzda (ARM şablonu) dağıtım kapsamı değerlerini almak için aşağıdaki işlevleri sağlar:

Parametrelerden, değişkenlerden veya geçerli dağıtımdan değer almak için bkz. dağıtım değeri işlevleri.

Tavsiye

ARM şablonlarıyla aynı özellikleri sunduğundan ve söz diziminin kullanımı daha kolay olduğundan Bicep önerilir. Daha fazla bilgi edinmek için bkz scope . işlevler.

managementGroup

managementGroup()

Geçerli dağıtımdaki yönetim grubundan özelliklere sahip bir nesne döndürür.

Bicep'te kapsam işlevini kullanın managementGroup .

Açıklamalar

managementGroup() yalnızca 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. Geçerli yönetim grubunun özelliklerini almak için bunu kullanın.

Dönüş değeri

Geçerli yönetim grubunun özelliklerine sahip bir nesne.

Yönetim grubu örneği

Aşağıdaki örnek, geçerli yönetim grubunun özelliklerini döndürür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "mgInfo": "[managementGroup()]"
  },
  "resources": [],
  "outputs": {
    "mgResult": {
      "type": "object",
      "value": "[variables('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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
    },
    "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:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "mgName": {
      "type": "string",
      "defaultValue": "[format('mg-{0}', uniqueString(newGuid()))]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Management/managementGroups",
      "apiVersion": "2024-02-01-preview",
      "scope": "/",
      "name": "[parameters('mgName')]",
      "properties": {
        "details": {
          "parent": {
            "id": "[managementGroup().id]"
          }
        }
      }
    }
  ],
  "outputs": {
    "newManagementGroup": {
      "type": "string",
      "value": "[parameters('mgName')]"
    }
  }
}

kaynakGrubu

resourceGroup()

Geçerli kaynak grubunu temsil eden bir nesne döndürür.

Bicep'te kapsam işlevini kullanın resourceGroup .

Dönüş değeri

Döndürülen nesne aşağıdaki biçimdedir:

{
  "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.

Açıklamalar

İşlev, resourceGroup()abonelik düzeyinde dağıtılan bir şablonda kullanılamaz. Yalnızca bir kaynak grubuna dağıtılan şablonlarda kullanılabilir. İşlevi resourceGroup() , üst şablon aboneliğe dağıtıldığında bile bir kaynak grubunu hedefleyen bağlantılı veya iç içe yerleştirilmiş bir şablonda (iç kapsama sahip) kullanabilirsiniz. Bu senaryoda, bağlı veya iç içe yerleştirilmiş şablon kaynak grubu düzeyinde dağıtılır. Abonelik düzeyinde bir dağıtımda kaynak grubunu hedefleme hakkında daha fazla bilgi için bkz. Azure kaynaklarını birden fazla aboneliğe veya kaynak grubuna dağıtma.

işlevinin resourceGroup 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.

"parameters": {
  "location": {
    "type": "string",
    "defaultValue": "[resourceGroup().location]"
  }
}

Kaynak grubundan resourceGroup kaynağa etiket uygulamak için işlevini de kullanabilirsiniz. Daha fazla bilgi için bkz. Kaynak grubundan etiket uygulama.

Birden çok kaynak grubuna dağıtmak için iç içe şablonları kullanırken, işlevi değerlendirmek resourceGroup için kapsamı belirtebilirsiniz. Daha fazla bilgi için bkz. Azure kaynaklarını birden fazla aboneliğe veya kaynak grubuna dağıtma.

Kaynak grubu örneği

Aşağıdaki örnek kaynak grubunun özelliklerini döndürür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "resourceGroupOutput": {
      "type": "object",
      "value": "[resourceGroup()]"
    }
  }
}

Yukarıdaki örnek 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"
  }
}

abonelik

subscription()

Geçerli dağıtım için abonelikle ilgili ayrıntıları döndürür.

Bicep'te kapsam işlevini kullanın subscription .

Dönüş değeri

İşlev aşağıdaki biçimi döndürür:

{
  "id": "/subscriptions/{subscription-id}",
  "subscriptionId": "{subscription-id}",
  "tenantId": "{tenant-id}",
  "displayName": "{name-of-subscription}"
}

Açıklamalar

Birden çok aboneliğe dağıtmak için iç içe şablonları kullanırken, işlevi değerlendirmek subscription için kapsamı belirtebilirsiniz. Daha fazla bilgi için bkz. Azure kaynaklarını birden fazla aboneliğe veya kaynak grubuna dağıtma.

Abonelik örneği

Aşağıdaki örnekte çıkışlar bölümünde çağrılan işlev gösterilmektedirsubscription:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "subscriptionOutput": {
      "type": "object",
      "value": "[subscription()]"
    }
  }
}

kiracı

tenant()

Kullanıcının kiracısını döndürür.

Bicep'te kapsam işlevini kullanın tenant .

Açıklamalar

tenant() herhangi bir dağıtım kapsamıyla kullanılabilir. Her zaman geçerli kiracıyı döndürür. Geçerli kiracının özelliklerini almak için bu işlevi kullanın.

Bağlantılı şablon veya uzantı kaynağının kapsamını ayarlarken, söz dizimini kullanın: "scope": "/".

Dönüş değeri

Geçerli kiracı hakkında özelliklere sahip bir nesne.

Kiracı örneği

Aşağıdaki örnek bir kiracının özelliklerini döndürür:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "tenantInfo": "[tenant()]"
  },
  "resources": [],
  "outputs": {
    "tenantResult": {
      "type": "object",
      "value": "[variables('tenantInfo')]"
    }
  }
}

Şunu döndürür:

"tenantResult": {
  "type": "Object",
  "value": {
    "countryCode": "US",
    "displayName": "Contoso",
    "id": "/tenants/00000000-0000-0000-0000-000000000000",
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
  }
}

Sonraki Adımlar