我正在尝试指定一个我的 ARM 模板中的应用程序设置指向特定 f较旧的位置我正在部署的 Web 应用程序应该存储日志文件的位置,例如:D:\文件夹\日志。当我指定文件夹位置时,它会抱怨值为空。如果我添加双斜杠 (\),错误就会消失,但部署失败。
我尝试添加这些特定的应用程序设置(带有文件夹位置的设置)作为参数,并在 template.json 文件中像这样引用它们 - [parameters('log-folder')] 但是它失败了并且说它找不到指定的参数。我将不胜感激任何帮助。我已将我正在使用的一些参数和模板 json 文件发布在下面:
**template.json file**
--------
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "CACHE",
"value": "[parameters('cache')]"
},
**parameters.json file**
--------
"parameters": {
"cache": {
"value":"D:\\home\\filevault\\cache"
},
}
答案1
你的代码看起来没问题,只要确保你的参数是那样的,不要忘记类型为字符串。
=====params.json=====
{ $schema:https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#, "内容版本":"1.0.0.0", “参数”: { “缓存”: { “值”:“D:\\home\\filevault\\cache” } } }
根据这个错误,这似乎是有关 [parameters('name')] 的错误。
我使用一个简单的 WebApp 进行了测试
=====deploy.json=====
{ “$schema”:“https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#”, "内容版本":"1.0.0.0", “参数”: { “缓存”: { “类型”:“字符串” } }, “功能”: [ ], “变量”:{ }, “资源”: [ { “名称”:“appServicePlan144524343242342”, “类型”:“Microsoft.Web/serverfarms”, "apiVersion": "2018-02-01", “location”:“[resourceGroup().location]”, “库存单位”:{ “名称”:“F1”, “容量”:1 }, “标签”:{ “displayName”:“appServicePlan144524343242342” }, “特性”: { “名称”:“appServicePlan144524343242342” } }, { “名称”:“appServicePlan144524343242342”, “类型”:“Microsoft.Web/sites”, "apiVersion": "2018-11-01", “location”:“[resourceGroup().location]”, “标签”:{ “[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/appServicePlan144524343242342')]”:“资源”, “displayName”:“appServicePlan144524343242342” }, “依赖于取决于”: [ “[resourceId('Microsoft.Web/serverfarms','appServicePlan144524343242342')]” ], “特性”: { “名称”:“appServicePlan144524343242342”, "serverFarmId": [resourceId('Microsoft.Web/serverfarms', 'appServicePlan144524343242342')]", “站点配置”:{ “应用程序设置”:[ { “名称”:“缓存”, “值”:“[参数('缓存')]” } ] } } } ], “输出”:{ } }