0

我创建了一个 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使用相同的详细信息调用时,编译作业已创建并成功完成。

4

1 回答 1

0

编译配置涉及创建一个 compliationJob。在引擎盖下,它是一个 PUT 调用/CompiliationJobs/{guid}。所以这里的技巧是在调用编译作业时将新的 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"
    }
  }
}
于 2016-09-29T21:44:32.530 回答