Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Дочерними называются ресурсы, существующие только в контексте другого ресурса. Например, расширение виртуальной машины не может существовать без виртуальной машины. Ресурс расширения является дочерним элементом виртуальной машины.
Каждый родительский ресурс принимает только определенные типы ресурсов в качестве дочерних ресурсов. Тип ресурса дочернего объекта включает в себя тип ресурса родительского объекта. Например, Microsoft.Web/sites/config и Microsoft.Web/sites/extensions являются дочерними ресурсами Microsoft.Web/sites. Допустимые типы ресурсов указываются в схеме шаблона родительского ресурса.
В шаблоне Azure Resource Manager (шаблон ARM) можно указать дочерний ресурс в родительском ресурсе или за пределами родительского ресурса. Значения, указанные для имени ресурса и типа ресурса, зависят от того, определен ли дочерний ресурс внутри или вне родительского ресурса.
Подсказка
Мы рекомендуем использовать Bicep, так как он предоставляет те же возможности, что и шаблоны ARM, и имеет более простой синтаксис. Дополнительные сведения см. в разделе "Дочерние ресурсы".
В родительском ресурсе
В следующем примере показан дочерний ресурс, включенный в свойство "ресурсы" родительского ресурса.
"resources": [
{
<parent-resource>
"resources": [
<child-resource>
]
}
]
Дочерние ресурсы могут быть ограничены до пяти уровней вглубь.
При определении в родительском типе ресурса нужно форматировать значения типа и имени в виде одного сегмента без слэшей.
"type": "{child-resource-type}",
"name": "{child-resource-name}",
В следующем примере показана виртуальная сеть и подсеть. Обратите внимание, что подсеть включена в массив ресурсов для виртуальной сети. Имя установлено как Subnet1, а тип установлен как подсети. Дочерний ресурс помечается как зависящий от родительского ресурса, так как родительский ресурс должен существовать до развертывания дочернего ресурса.
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2025-01-01",
"name": "VNet1",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
}
},
"resources": [
{
"type": "subnets",
"apiVersion": "2024-07-01",
"name": "Subnet1",
"dependsOn": [
"VNet1"
],
"properties": {
"addressPrefix": "10.0.0.0/24"
}
}
]
}
]
Полный тип ресурса по-прежнему Microsoft.Network/virtualNetworks/subnets. Вы не предоставляете Microsoft.Network/virtualNetworks/, так как это предполагается на основе типа родительского ресурса.
Имя дочернего ресурса имеет значение Subnet1, но полное имя содержит родительское имя. Вы не предоставляете VNet1, так как она предполагается из родительского ресурса.
Внешний родительский ресурс
В следующем примере показан дочерний ресурс за пределами родительского ресурса. Этот подход может использоваться, если родительский ресурс не развернут в одном шаблоне или если требуется использовать копию для создания нескольких дочерних ресурсов.
"resources": [
{
<parent-resource>
},
{
<child-resource>
}
]
При определении за пределами родительского ресурса отформатируйте значения типа и имени косыми чертами, чтобы включить родительский тип и имя.
"type": "{resource-provider-namespace}/{parent-resource-type}/{child-resource-type}",
"name": "{parent-resource-name}/{child-resource-name}",
В следующем примере показана виртуальная сеть и подсеть, определенные на корневом уровне. Обратите внимание, что подсеть не входит в массив ресурсов для виртуальной сети. Для имени задано значение VNet1/Subnet1, а для типа задано значение Microsoft.Network/virtualNetworks/subnets. Дочерний ресурс помечается как зависящий от родительского ресурса, так как родительский ресурс должен существовать до развертывания дочернего ресурса.
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2025-01-01",
"name": "VNet1",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
}
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2025-01-01",
"name": "VNet1/Subnet1",
"dependsOn": [
"VNet1"
],
"properties": {
"addressPrefix": "10.0.0.0/24"
}
}
]
Дальнейшие шаги
- Дополнительные сведения о создании шаблонов ARM см. в статье "Общие сведения о структуре и синтаксисе шаблонов ARM".
- Сведения о формате имени ресурса при ссылке на ресурс см. в справочной функции.