2014-11-05 3 views
10

AzureResourceManager PowerShell 모듈을 사용하여 웹 사이트를 만들고 구성하려고합니다. Visual Studio에 의해 생성 된 템플릿 파일로 시작했는데, New-AzureResourceGroup -TemplateFile website.json을 통해 사용할 때 제대로 작동합니다.Azure 웹 사이트 리소스 템플릿 오류

이제 템플릿 파일을 조정하여 사이트를 구성하려고합니다. PHP와 .NET Framework 버전을 설정하려고합니다. schema에 따르면 이러한 속성은 리소스 배열의 config 개체를 통해 설정됩니다.

다음은 내 json 템플릿의 웹 사이트 섹션입니다. 은 "자원"섹션 내가 추가 한 것입니다 : 나는이에 대한 모든 문서를 찾을 수 없습니다

Code : InvalidTemplate 
Message : Deployment template validation failed: 'The template resource 'config' for type 'Microsoft.Web/sites/config' has 
      incorrect segment lengths. A nested resource type must have identical number of segments as its resource name. A root 
      resource type must have segment length one greater than its resource name'. 

:

{ 
     "apiVersion": "2014-06-01", 
     "name": "[parameters('siteName')]", 
     "type": "Microsoft.Web/sites", 
     "location": "[parameters('siteLocation')]", 
     "tags": { 
      "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource" 
     }, 
     "dependsOn": [ 
      "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]" 
     ], 
     "properties": { 
      "name": "[parameters('siteName')]", 
      "serverFarm": "[parameters('hostingPlanName')]" 
     }, 
     "resources": [ 
      { 
       "apiVersion": "2014-04-01", 
       "type": "Microsoft.Web/sites/config", 
       "name": "config", 
       "properties": { 
        "name": "config", 
        "phpVersion": "", 
        "netFrameworkVersion": "V4.5" 
       } 
      } 
     ] 
    }, 

내가 Test-AzureResourceGroupTemplate에이 템플릿을 통과 할 때 나는이 오류가 발생합니다. 누구든지이 오류의 의미 또는 내가 잘못하고있는 것을 알고 있습니까?

+0

기본 문제 해결 : 여기에 성공적으로 검증 된 템플릿입니다/ –

답변

22

절대로 실패하지 않습니다. 질문을 작성하자마자 대답을 찾습니다.

이 오류는 중첩 된 리소스이므로 (config 개체가 사이트 개체 내에 중첩되어 있음)이 이름을 반영해야합니다. 따라서 config 대신 이름은 mysite/config과 같아야합니다. 또한 dependsOn 섹션을 추가해야했습니다. 여기 https://azure.microsoft.com/en-us/documentation/articles/resource-manager-common-deployment-errors 주어진 ARM 템플릿 배포

"resources": [ 
    { 
     "apiVersion": "2014-04-01", 
     "type": "Microsoft.Web/sites/config", 
     "name": "[concat(parameters('siteName'), '/config')]", 
     "dependsOn": [ 
      "[concat('Microsoft.Web/sites/', parameters('siteName'))]" 
     ], 
     "properties": { 
      "phpVersion": "", 
      "netFrameworkVersion": "V4.5" 
     } 
    } 
] 
+0

위의 '/'조언을 따르거나 connectionstrings의 '중첩 된'appsettings를 추가하는 중 누군가가 동일한 오류를 겪고 있거나 여기에 더 많은 웹 사이트 리소스를 추가하려는 경우를 대비하여 http://stackoverflow.com/questions/ 40396154/set-arm-template-web-appsetting/40400595 # 40400595 – OzBob