Azure自动化DSC编译作业因ARM模板中的404失败而失败

时间:2016-09-23 17:34:26

标签: azure dsc azure-automation arm-template

我创建了一个ARM模板,该模板在Azure中成功创建了一个自动化帐户,然后在该帐户中创建了模块和DSC配置。

当我添加Microsoft.Automation/automationAccounts/Compilationjobs资源来编译DSC配置时,模板部署在此步骤失败,404 - 文件或目录未找到。

Compilationjobs资源作为模板中的顶级资源存在,如下所示:

 {
  "apiVersion": "2015-10-31",
  "type": "Microsoft.Automation/automationAccounts/Compilationjobs",
  "name": "automationAccountName/jobId123",
  "location": "[variables('location')]",
  "tags": {
  },
  "dependsOn": [
    "Microsoft.Automation/automationAccounts/automationAccountName",
    "modulesResourceLoop"
  ],
  "properties": {
    "configuration": {
      "name": "DSCConfigurationName"
    }
  }
}

当我使用相同的详细信息调用Start-AzureRmAutomationDscCompilationJob时,编译作业将被创建并成功完成。

1 个答案:

答案 0 :(得分:0)

编译配置涉及创建compliationJob。在引擎盖下,它是对/CompiliationJobs/{guid}的PUT号召。所以这里的技巧是在调用编译作业时将新的guid传递给arm模板。

如下所示,您需要定义参数compilationJobGuid

{
  "name": "[parameters('compilationJobGuid')]",
  "apiVersion": "2015-10-31",
  "type": "Microsoft.Automation/automationAccounts/Compilationjobs",
  "location": "[variables('location')]",
  "tags": {
  },
  "dependsOn": [
    "Microsoft.Automation/automationAccounts/automationAccountName",
    "modulesResourceLoop"
  ],
  "properties": {
    "configuration": {
      "name": "DSCConfigurationName"
    }
  }
}