Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Resource Manager предоставляет следующие функции для получения значений области развертывания в шаблоне Azure Resource Manager (шаблон ARM):
Сведения о получении значений из параметров, переменных или текущего развертывания см. в функциях значений развертывания.
Подсказка
Bicep рекомендуется, так как он предлагает те же возможности, что и шаблоны ARM, и синтаксис проще использовать. Дополнительные сведения см. в разделе scope "Функции".
managementGroup
managementGroup()
Возвращает объект со свойствами из группы управления в текущем развертывании.
В Bicep используйте функцию managementGroup области.
Замечания
managementGroup() можно использовать только в развертываниях группы управления. Она возвращает текущую группу управления для операции развертывания. Используйте его для получения свойств текущей группы управления.
Возвращаемое значение
Объект со свойствами текущей группы управления.
Пример группы управления
В следующем примере возвращаются свойства для текущей группы управления:
{
"$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')]"
}
}
}
Возвращается следующее:
"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"
}
}
Следующий пример создает новую группу управления и использует эту функцию для задания родительской группы управления:
{
"$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')]"
}
}
}
resourceGroup
resourceGroup()
Возвращает объект, представляющий текущую группу ресурсов.
В Bicep используйте функцию resourceGroup области.
Возвращаемое значение
Возвращаемый объект находится в следующем формате:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
Свойство managedBy возвращается только для групп ресурсов, содержащих ресурсы, управляемые другой службой. Для управляемых приложений, Databricks и AKS значение свойства является идентификатором ресурса управления.
Замечания
Функцию resourceGroup() нельзя использовать в шаблоне, развернутом на уровне подписки. Его можно использовать только в шаблонах, развернутых в группе ресурсов. Функцию можно использовать resourceGroup() в связанном или вложенном шаблоне (с внутренней областью), предназначенной для группы ресурсов, даже если родительский шаблон развертывается в подписке. В этом сценарии связанный или вложенный шаблон развертывается на уровне группы ресурсов. Дополнительные сведения о целевой группе ресурсов в развертывании уровня подписки см. в статье "Развертывание ресурсов Azure в нескольких подписках или группах ресурсов".
Обычно функция resourceGroup используется для создания ресурсов в том же расположении, что и группа ресурсов. В следующем примере используется расположение группы ресурсов для значения параметра по умолчанию.
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
}
Вы также можете использовать функцию resourceGroup для применения тегов из группы ресурсов к ресурсу. Дополнительные сведения см. в разделе "Применение тегов из группы ресурсов".
При использовании вложенных шаблонов для развертывания в нескольких группах ресурсов можно указать область для оценки resourceGroup функции. Дополнительные сведения см. в статье "Развертывание ресурсов Azure в нескольких подписках или группах ресурсов".
Пример группы ресурсов
В следующем примере возвращаются свойства группы ресурсов:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"resourceGroupOutput": {
"type": "object",
"value": "[resourceGroup()]"
}
}
}
В предыдущем примере объект возвращается в следующем формате:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
подписка
subscription()
Возвращает сведения о подписке для текущего развертывания.
В Bicep используйте функцию subscription области.
Возвращаемое значение
Функция возвращает следующий формат:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Замечания
При использовании вложенных шаблонов для развертывания в нескольких подписках можно указать область для оценки subscription функции. Дополнительные сведения см. в статье "Развертывание ресурсов Azure в нескольких подписках или группах ресурсов".
Пример подписки
В следующем примере показана функция, вызванная subscription в разделе выходных данных :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"subscriptionOutput": {
"type": "object",
"value": "[subscription()]"
}
}
}
арендатор
tenant()
Возвращает клиент пользователя.
В Bicep используйте функцию tenant области.
Замечания
tenant() можно использовать с любой областью развертывания. Он всегда возвращает текущий клиент. Используйте эту функцию для получения свойств для текущего клиента.
При настройке области для связанного шаблона или ресурса расширения используйте синтаксис: "scope": "/"
Возвращаемое значение
Объект со свойствами текущего клиента.
Пример клиента
В следующем примере возвращаются свойства для клиента:
{
"$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')]"
}
}
}
Возвращается следующее:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
}
Дальнейшие шаги
- Дополнительные сведения о разделах шаблона ARM см. в структуре и синтаксисе шаблонов ARM.
- Сведения о слиянии нескольких шаблонов см. в связанных и вложенных шаблонах при развертывании ресурсов Azure.
- Чтобы итерировать указанное количество раз при создании типа ресурса, см. итерацию ресурсов в шаблонах ARM.
- Сведения о развертывании созданного шаблона см. в статье о развертывании ресурсов с помощью шаблонов ARM и Azure PowerShell.