리소스가 템플릿에 정의되지 않았습니다.
아래 템플릿 배포:
https://gist.github.com/rnkhouse/aea0a8fd395da37b19466348b919d620
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "String"
},
"virtualNetworkName": {
"type": "string",
"metadata": {
"description": "This is the name of the Virtual Network"
}
},
"networkInterfaceName": {
"type": "string",
"metadata": {
"description": "This is the prefix name of the Network interfaces"
}
},
"loadBalancerName": {
"type": "string",
"metadata": {
"description": "This is the name of the load balancer"
}
},
"adminUsername": {
"type": "string",
"metadata": {
"description": "Admin username"
}
},
"adminPublicKey": {
"type": "string",
"metadata": {
"description": "SSH Public Key"
}
},
"imagePublisher": {
"type": "string",
"defaultValue": "Canonical",
"metadata": {
"description": "Image Publisher"
}
},
"vmNamePrefix": {
"type": "string",
"metadata": {
"description": "Prefix to use for VM names"
}
},
"imageOffer": {
"type": "string",
"defaultValue": "UbuntuServer",
"metadata": {
"description": "Image Offer"
}
},
"imageSKU": {
"type": "string",
"defaultValue": "14.04.5-LTS",
"metadata": {
"description": "Image SKU"
}
},
"vmStorageAccountContainerName": {
"type": "string",
"defaultValue": "vhds",
"metadata": {
"description": "This is the storage account container name"
}
},
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage account name"
}
},
"vmSize": {
"type": "string",
"defaultValue": "Standard_D1",
"metadata": {
"description": "This is the allowed list of VM sizes"
}
},
"subnetName": {
"defaultValue": "subnet-2",
"type": "String"
}
},
"variables": {
"availabilitySetName": "[concat(parameters('subnetName'),'-AVSET')]",
"addressPrefix": "1.0.0.0/16",
"subnetPrefix": "1.0.2.0/24",
"storageAccountType": "Standard_LRS",
"vnetID": "[resourceId(resourceGroup().name,'Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",
"subnetRef": "[concat(variables('vnetID'),'/subnets/',parameters ('subnetName'))]",
"numberOfInstances": 2,
"lbID": "[resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancerName'))]"
},
"resources": [
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"properties": {
"accountType": "[variables('storageAccountType')]"
}
},
{
"apiVersion": "2016-04-30-preview",
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('availabilitySetName')]",
"location": "[parameters('location')]",
"properties": {
"platformFaultDomainCount": "2",
"platformUpdateDomainCount": "2",
"managed": "true"
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[concat(parameters('virtualNetworkName'), '/', parameters('subnetName'))]",
"location": "[parameters('location')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]"
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(parameters('networkInterfaceName'), copyindex())]",
"location": "[parameters('location')]",
"copy": {
"name": "nicLoop",
"count": "[variables('numberOfInstances')]"
},
"dependsOn": [
"[concat('Microsoft.Network/loadBalancers/', parameters('loadBalancerName'))]"
],
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[variables('subnetRef')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[concat(variables('lbID'), '/backendAddressPools/BackendPool1')]"
}
]
}
}
]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/loadBalancers",
"name": "[parameters('loadBalancerName')]",
"location": "[parameters('location')]",
"dependsOn": [],
"properties": {
"frontendIPConfigurations": [
{
"properties": {
"subnet": {
"id": "[variables('subnetRef')]"
},
"privateIPAddress": "1.0.2.50",
"privateIPAllocationMethod": "Static"
},
"name": "LoadBalancerFrontend"
}
],
"backendAddressPools": [
{
"name": "BackendPool1"
}
],
"loadBalancingRules": [
{
"properties": {
"frontendIPConfiguration": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/frontendIpConfigurations/LoadBalancerFrontend')]"
},
"backendAddressPool": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/backendAddressPools/BackendPool1')]"
},
"probe": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/probes/lbprobe')]"
},
"protocol": "Tcp",
"frontendPort": 80,
"backendPort": 80,
"idleTimeoutInMinutes": 15
},
"Name": "lbrule"
}
],
"probes": [
{
"properties": {
"protocol": "Tcp",
"port": 80,
"intervalInSeconds": 15,
"numberOfProbes": 2
},
"name": "lbprobe"
}
]
}
},
{
"apiVersion": "2016-04-30-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('vmNamePrefix'), copyindex())]",
"copy": {
"name": "virtualMachineLoop",
"count": "[variables('numberOfInstances')]"
},
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
"[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'), copyindex())]",
"[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"
],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"osProfile": {
"computerName": "[concat(parameters('vmNamePrefix'), copyIndex())]",
"adminUsername": "[parameters('adminUsername')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"ssh": {
"publicKeys": [
{
"path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]",
"keyData": "[parameters('adminPublicKey')]"
}
]
}
}
},
"storageProfile": {
"imageReference": {
"publisher": "[parameters('imagePublisher')]",
"offer": "[parameters('imageOffer')]",
"sku": "[parameters('imageSKU')]",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(parameters('networkInterfaceName'),copyindex()))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "true",
"storageUri": "[concat('http://',parameters('storageAccountName'),'.blob.core.windows.net')]"
}
}
}
}
]
}
오류:
"상태 코드: 400 및 메시지:배포 템플릿 유효성 검사에 실패했습니다. '리소스 'Microsoft.Network/virtualNetworks/mtes-dev-VNET'이(가) 템플릿에 정의되어 있지 않습니다.사용에 대한 자세한 내용은 https://aka.ms/arm-template 을 참조하십시오.
이미 다른 템플릿에서 가상 네트워크를 생성했으며 여기에서 동일한 리소스 그룹을 사용하고 있습니다.하지만, 저는 여전히 오류를 극복하고 있습니다.조언 부탁드립니다!
제거한다.dependsOn코드의 Vnet은 해당 리소스가 템플릿의 일부일 경우에만 필요하며, 이미 배포된 경우에는 필요하지 않습니다.
리소스가 템플릿에 정의되지 않았습니다'를 검색한 후 여기에 도착하는 다른 사용자는 이 오류 메시지의 또 다른 원인으로 다음 양식을 참조할 수 있습니다.
reference('<some complete id outside this template>')
또는
listkeys('<some complete id outside this template>')
오류 메시지는 알 수 없지만 현재 템플릿 외부에 정의된 리소스를 참조할 때 API 버전을 포함해야 합니다.
예.
reference('<some complete id outside this template>', '2018-03-01')
동일한 오류 코드를 검색하는 중에 이 문제를 발견했습니다.하지만 다른 문제가 있었습니다. 템플릿 내의 다른 리소스의 하위 리소스를 참조하고 있었습니다.저는 그것들이 현재 템플릿 밖에서 고려되고 있다고 생각합니다.
예.
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "vnetName",
"location": "[resourceGroup().location]",
"apiVersion": "2018-11-01",
"properties": {
...
}
},
"resources": [
{
"type": "subnets",
"apiVersion": "2018-11-01",
"name": "subnetName",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', vnetName)]"
],
"properties": {
...
}
}
}
},
{
"apiVersion": "2016-02-01",
"name": "deploymentName",
"type": "Microsoft.Resources/deployments",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks.subnets', vnetName, subnetName)]"
],
}
]
}
여기서 해결책은 상위 리소스를 배포에 배치하고 이에 의존하는 것입니다.
예.
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2016-02-01",
"name": "deployment1",
"type": "Microsoft.Resources/deployments",
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "vnetName",
"location": "[resourceGroup().location]",
"apiVersion": "2018-11-01",
"properties": {
...
},
"resources": [
{
"type": "subnets",
"apiVersion": "2018-11-01",
"name": "subnetName",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', vnetName)]"
],
"properties": {
...
}
}
]
}
]
},
{
"apiVersion": "2016-02-01",
"name": "deployment2",
"type": "Microsoft.Resources/deployments",
"dependsOn": [
"deployment1"
],
}
]
}
저도 같은 문제가 있었습니다. 기본적으로 해결책은 다음과 같습니다.
"dependsOn": [
resourceid('Microsoft.Resources/deployments','deployment1')]
]
다음을 사용해야 합니다.
"dependsOn": [
"deployment1"
],
언급URL : https://stackoverflow.com/questions/43482219/the-resource-is-not-defined-in-the-template
'programing' 카테고리의 다른 글
| 작업을 직접 반환할 수 있는데 비동기를 사용하고 반환을 기다리는 이유는 무엇입니까? (0) | 2023.05.29 |
|---|---|
| Azure 함수 내에서 다른 함수를 호출하는 방법 (0) | 2023.05.29 |
| 워드 파일을 프로그래밍 방식으로 PDF로 변환하려면 어떻게 해야 합니까? (0) | 2023.05.29 |
| XML에서 C# 클래스 생성 (0) | 2023.05.29 |
| 를 누를 때 UILongPressGestureRecognizer가 두 번 호출됩니다. (0) | 2023.05.29 |