首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义配置脚本azure资源管理器模板

自定义配置脚本azure资源管理器模板
EN

Stack Overflow用户
提问于 2019-12-26 20:25:19
回答 1查看 556关注 0票数 0

我正在创建一个蓝色的市场提供使用ARM模板。我正在使用ARM模板创建Linux。我需要运行一个自定义配置脚本post部署。我遵循了“天蓝色快速启动回购”中提供的例子。

https://github.com/Azure/azure-quickstart-templates/tree/master/100-marketplace-sample当我试图验证模板时,我会得到以下错误。

代码语言:javascript
复制
{   "error": {
    "additionalInfo": [
      {
        "info": {
          "lineNumber": 166,
          "linePosition": 28,
          "path": "resources[1].type"
        },
        "type": "TemplateViolation"
      }
    ],
    "code": "InvalidTemplate",
    "details": null,
    "message": "Deployment template validation failed: 'The template resource 'configScript' at line '166' and column '28' is not valid. The type property is invalid. Please see https://aka.ms/arm-template/#resources for usage details.'.",
    "target": null   

},

“属性”:null }

我的模板中的脚本部分看起来像

代码语言:javascript
复制
{
    "type": "extensions",
    "name": "configScript",
    "apiVersion": "2018-04-01",
    "location": "[parameters('location')]",
    "dependsOn": [
    "[parameters('vmName')]"
    ],
    "properties": {
    "publisher": "Microsoft.Azure.Extensions",
    "type": "CustomScript",
    "typeHandlerVersion": "2.0",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "[uri(parameters('_artifactsLocation'), concat('scripts/copyfilefromazure.sh', parameters('_artifactsLocationSasToken')))]"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('bash ', variables('scriptFileName'), ' ', variables('scriptArgs'))]"
    }
    }
},
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-27 08:48:40

错误意味着它是一个嵌套的资源( config对象嵌套在站点对象中),名称需要反映这一点。因此,名称应该是类似于virtualMachines/extensions的东西,而不是配置。我还需要添加dependsOn部分。

代码语言:javascript
复制
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', concat(variables('vmName'),copyindex()))]"]

下面是成功验证的模板:

代码语言:javascript
复制
{
  "name": "config-app",
  "type": "Extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2019-03-01",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', concat(variables('vmName'),copyindex()))]"
  ],
  "tags": {
    "displayName": "config-app"
  },
  "properties": {
    "publisher": "Microsoft.Azure.Extensions",
    "type": "CustomScript",
    "typeHandlerVersion": "2.0",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "skipDos2Unix":false,
      "timestamp":123456789          
    },
    "protectedSettings": {
       "commandToExecute": "<command-to-execute>",
       "script": "<base64-script-to-execute>",
       "storageAccountName": "<storage-account-name>",
       "storageAccountKey": "<storage-account-key>",
       "fileUris": ["https://.."]  
    }
  }
}

有关更多细节,您可以阅读本文在Linux虚拟机中使用Azure自定义脚本扩展版本2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59493146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档