0

我在部署ARM模板時遇到奇怪的行爲。ARM模板包含Web應用程序的配置設置

我有以下模板:(注意sasUrl值「XXX」在我的文件有一個真實的,工作值)

{ 
    "name": "[variables('webAppServiceName')]", 
    "type": "Microsoft.Web/sites", 
    "location": "[resourceGroup().location]", 
    "apiVersion": "2016-08-01", 
    "dependsOn": [ 
    "[concat('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]" 
    ], 
    "tags": { 
    "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('appServicePlanName'))]": "Resource", 
    "displayName": "[variables('webAppServiceName')]" 
    }, 
    "properties": { 
    "name": "[variables('webAppServiceName')]", 
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]" 
    }, 
    "resources": [ 
    { 
     "apiVersion": "2014-11-01", 
     "name": "appsettings", 
     "type": "config", 
     "dependsOn": [ 
     "[concat('Microsoft.Web/sites/', variables('webAppServiceName'))]", 
     "[concat('Microsoft.Web/certificates/', variables('certificateName'))]" 
     ], 
     "tags": { 
     "displayName": "WebAppSettings" 
     }, 
     "properties": { 
     "WEBSITE_LOAD_CERTIFICATES": "[reference(resourceId('Microsoft.Web/certificates', variables('certificateName')), providers('Microsoft.Web', 'certificates').apiVersions[0]).thumbprint]" 
     } 
    }, 
    { 
     "apiVersion": "2016-08-01", 
     "name": "Microsoft.ApplicationInsights.Profiler.AzureWebApps", 
     "type": "siteextensions", 
     "dependsOn": [ 
     "[resourceId('Microsoft.Web/Sites', variables('webAppServiceName'))]" 
     ], 
     "properties": {} 
    }, 
    { 
     "apiVersion": "2015-08-01", 
     "name": "logs", 
     "type": "config", 
     "dependsOn": [ 
     "[resourceId('Microsoft.Web/Sites', variables('webAppServiceName'))]" 
     ], 
     "properties": { 
     "applicationLogs": { 
      "fileSystem": { 
      "level": "Off" 
      }, 
      "azureTableStorage": { 
      "level": "Off" 
      }, 
      "azureBlobStorage": { 
      "level": "[parameters('applicationLogLevel')]", 
      "sasUrl": "xxx" 
      } 
     }, 
     "httpLogs": { 
      "fileSystem": { 
      "enabled": false 
      }, 
      "azureBlobStorage": { 
      "enabled": true, 
      "sasUrl": "xxx" 
      } 
     }, 
     "failedRequestsTracing": { 
      "enabled": "[parameters('enableFailedRequestTracing')]" 
     }, 
     "detailedErrorMessages": { 
      "enabled": "[parameters('enableDetailedErrorMessages')]" 
     } 
     } 
    } 
    ] 
} 

當部署,而無需修改任何此模板,在配置部分中的「日誌」是沒有正確部署+ - 1次2次。我剛剛再次測試了ARM模板,並且第一次部署時,Web應用程序沒有正確的診斷日誌記錄設置。這是第二次,但第三次他們沒事。但第四次,設置不再正確。它看起來像這個模板的一部分沒有一致的行爲。

我在監督什麼嗎?

+0

你有關於這個主題的任何更新?如果它有用,請幫助將其標記爲答案,以幫助更多具有相同問題的社區? –

+0

我仍然沒有一致的結果,但支持憑單已記錄在Azure支持團隊中,他們正在處理它。 – Identity

回答

0

我嘗試使用appsetting和logs創建WebApp,它對我來說工作正常。我使用Visual Studio創建了該項目。以下是我的詳細步驟。

1.創建Azure的資源項目

enter image description here

2.Select的Web應用程序模板

enter image description here

3.Click部署文件,然後右鍵點擊並刪除不必要的資源

enter image description here

4.增加了Appsetting資源的Web應用程序

enter image description here

5.Add爲Azure的Web應用程序

{ 
      "apiVersion": "2015-08-01", 
      "name": "logs", 
      "type": "config", 
      "dependsOn": [ 
      "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]" 
      ], 
      "properties": { 
      "applicationLogs": { 
       "fileSystem": { 
       "level": "Off" 
       }, 
       "azureTableStorage": { 
       "level": "Off" 
       }, 
       "azureBlobStorage": { 
       "level": "[variables('Level')]", 
       "sasUrl": "xxxx" 
       } 
      }, 
      "httpLogs": { 
       "fileSystem": { 
       "enabled": false 
       }, 
       "azureBlobStorage": { 
       "enabled": true, 
       "sasUrl": "xxxxxx" 
       } 
      }, 
      "failedRequestsTracing": { 
       "enabled": "[parameters('enableFailedRequestTracing')]" 
      }, 
      "detailedErrorMessages": { 
       "enabled": "[parameters('enableDetailedErrorMessages')]" 
      } 
      } 
     } 

日誌代碼6.Right單擊該項目,並選擇部署

enter image description here

7.檢查第Ë輸出和Azure的門戶

enter image description here

enter image description here

整條手臂的模板:

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
    "hostingPlanName": { 
     "type": "string", 
     "minLength": 1 
    }, 
    "enableFailedRequestTracing": { 
     "type": "bool" 
    }, 
    "enableDetailedErrorMessages": { 
     "type": "bool" 
    }, 
    "skuName": { 
     "type": "string", 
     "defaultValue": "F1", 
     "allowedValues": [ 
     "F1", 
     "D1", 
     "B1", 
     "B2", 
     "B3", 
     "S1", 
     "S2", 
     "S3", 
     "P1", 
     "P2", 
     "P3", 
     "P4" 
     ], 
     "metadata": { 
     "description": "Describes plan's pricing tier and capacity. Check details at https://azure.microsoft.com/en-us/pricing/details/app-service/" 
     } 
    }, 
    "skuCapacity": { 
     "type": "int", 
     "defaultValue": 1, 
     "minValue": 1, 
     "metadata": { 
     "description": "Describes plan's instance count" 
     } 
    } 
    }, 
    "variables": { 
    "webSiteName": "[concat('webSite', uniqueString(resourceGroup().id))]", 
    "Level": "Error" 
    }, 
    "resources": [ 
    { 
     "apiVersion": "2015-08-01", 
     "name": "[parameters('hostingPlanName')]", 
     "type": "Microsoft.Web/serverfarms", 
     "location": "[resourceGroup().location]", 
     "tags": { 
     "displayName": "HostingPlan" 
     }, 
     "sku": { 
     "name": "[parameters('skuName')]", 
     "capacity": "[parameters('skuCapacity')]" 
     }, 
     "properties": { 
     "name": "[parameters('hostingPlanName')]" 
     } 
    }, 
    { 
     "apiVersion": "2015-08-01", 
     "name": "[variables('webSiteName')]", 
     "type": "Microsoft.Web/sites", 
     "location": "[resourceGroup().location]", 
     "tags": { 
     "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource", 
     "displayName": "Website" 
     }, 
     "dependsOn": [ 
     "[resourceId('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]" 
     ], 
     "properties": { 
     "name": "[variables('webSiteName')]", 
     "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]" 
     }, 
     "resources": [ 
     { 
      "name": "appsettings", 
      "type": "config", 
      "apiVersion": "2015-08-01", 
      "dependsOn": [ 
      "[resourceId('Microsoft.Web/sites', variables('webSiteName'))]" 
      ], 
      "tags": { 
      "displayName": "appsettings" 
      }, 
      "properties": { 
      "key1": "value1", 
      "key2": "value2" 
      } 
     }, 
     { 
      "apiVersion": "2015-08-01", 
      "name": "logs", 
      "type": "config", 
      "dependsOn": [ 
      "[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]" 
      ], 
      "properties": { 
      "applicationLogs": { 
       "fileSystem": { 
       "level": "Off" 
       }, 
       "azureTableStorage": { 
       "level": "Off" 
       }, 
       "azureBlobStorage": { 
       "level": "[variables('Level')]", 
       "sasUrl": "xxxxx" 
       } 
      }, 
      "httpLogs": { 
       "fileSystem": { 
       "enabled": false 
       }, 
       "azureBlobStorage": { 
       "enabled": true, 
       "sasUrl": "xxxx" 
       } 
      }, 
      "failedRequestsTracing": { 
       "enabled": "[parameters('enableFailedRequestTracing')]" 
      }, 
      "detailedErrorMessages": { 
       "enabled": "[parameters('enableDetailedErrorMessages')]" 
      } 
      } 
     } 
     ] 
    } 

    ] 
} 
+0

感謝您的回覆。多次重新部署模板時會得到一致的結果嗎?有時它對我有用,有時在使用完全相同的模板和參數文件時會錯誤配置日誌設置。 – Identity

+0

我試了3次,都爲我工作。 –

+0

@ TomSun-MSFT在本示例中提到了sasurl:「xxx」。如何在創建存儲帳戶後使用ARM模板獲取sasurl? – vengi83644