2014-11-05 26 views
10

Tôi đang cố sử dụng mô-đun PowerShell AzureResourceManager để tạo và định cấu hình trang web. Tôi bắt đầu với một tệp mẫu được tạo bởi Visual Studio, hoạt động tốt khi tôi sử dụng nó qua New-AzureResourceGroup -TemplateFile website.json.Lỗi mẫu tài nguyên trang web Azure

Vì vậy, bây giờ tôi đang cố gắng tinh chỉnh tệp mẫu để định cấu hình trang web. Tôi đang cố gắng thiết lập các phiên bản php và .NET Framework. Theo các thuộc tính schema, các thuộc tính này được đặt thông qua một đối tượng cấu hình trong một mảng tài nguyên.

Đây là phần trang web của mẫu json của tôi. Các "tài nguyên" phần là những gì tôi nói thêm:

{ 
     "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" 
       } 
      } 
     ] 
    }, 

Khi tôi vượt qua mẫu này để Test-AzureResourceGroupTemplate tôi nhận được lỗi này:

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'. 

tôi không thể tìm thấy bất kỳ tài liệu về vấn đề này. Có ai biết lỗi này có nghĩa là gì không, hoặc những gì tôi đang làm sai?

+0

xử lý sự cố cơ bản của ARM mẫu triển khai được đưa ra ở đây https://azure.microsoft.com/en-us/documentation/articles/resource-manager-common-deployment-errors/ –

Trả lời

22

Không bao giờ thất bại, ngay sau khi tôi viết ra câu hỏi, tôi tìm ra câu trả lời.

Lỗi có nghĩa là bởi vì đây là tài nguyên lồng nhau (đối tượng cấu hình được lồng trong đối tượng trang web) tên cần phản ánh điều này. Vì vậy, thay vì config tên phải giống như mysite/config. Tôi cũng cần thêm phần dependsOn. Dưới đây là các mẫu mà xác nhận thành công:

"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

chỉ trong trường hợp bất kỳ ai gặp lỗi tương tự khi cố gắng thêm các ứng dụng 'lồng nhau' của kết nối, 1 đầu trên '/' lời khuyên, hoặc thêm một số tài nguyên trang web khác như ở đây: http://stackoverflow.com/questions/ 40396154/set-arm-template-web-appsetting/40400595 # 40400595 – OzBob

Các vấn đề liên quan