Azure模板部署:什么" ContentLink不能为空"是什么意思?

时间:2017-02-02 17:18:23

标签: powershell azure templates deployment

我正在将资源组部署到Azure,其中包括VM,网络,带有一些Runbook的自动化帐户,以及使用JSON模板等。

我收到以下错误,

  

New-AzureRmResourceGroupDeployment:4:49:23 PM - 资源   Microsoft.Automation / automationAccounts /运行手册   ' DeployAutomationName / AzureClassicAutomationTutorial'失败了   消息' {"代码":" BadRequest","消息":   " {\"消息\":\" 指定的参数无效。参数contentLink   不能为空。\"}"

以及:

  

New-AzureRmResourceGroupDeployment:4:49:23 PM - 资源   Microsoft.Automation / automationAccounts /模块   ' DeployAutomationName / Microsoft.WSMan.Management'失败的消息   ' {"代码":" BadRequest","消息":" {\"消息\":\ "的的   必须在PUT或重新PUT操作中提供ContentLink属性。\"}"   }'

这两个错误重复了各种不同的资产"资产" (我认为这是我自动化帐户的术语)。因此,对于modulesrunbookscertificatesconnections

什么是contenLink,我怎样才能确定它不是空的? " ContentLink"我的模板中没有任何地方,除了this之外,我还无法在互联网上找到关于contentLink究竟是什么的任何解释。此外,我假设" PUT"或者"重新投入"是提供模板的其余API的一部分,我也无法直接控制此过程。 什么用于描述我无法直接控制的问题的错误消息?

此问题与我成功解决Azure模板的许多困难同义:我得到的错误消息似乎描述了 Azure Internals ,我对此也不了解或访问。当我无法访问实际抛出这些异常的代码时,如何进行故障排除或调试,以及对此异常的含义的解释?

谢谢! Here是我的template,我只会复制相关文字,但我还没有找到 相关的内容以及&# 39; s

1 个答案:

答案 0 :(得分:1)

好的,所以在稍微戳了之后,看起来你错过了Runbook内容(脚本本身)。所以你的Runbook资源应如下所示:

{
    "type": "Microsoft.Automation/automationAccounts/runbooks",
    "name": "[parameters('runbooks_AzureAutomationTutorial_name')]",
    "apiVersion": "2015-10-31",
    "location": "eastus2",
    "properties": {
        "runbookType": "GraphPowerShell",
        "logVerbose": false,
        "logProgress": false,
        "publishContentLink": {
            "uri": "[variables('scriptUri')]",
            "version": "1.0.0.0"
        }
    },
    "resources": [],
    "dependsOn": [
        "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccounts_deployautomation_name_1'))]"
    ]
},

和变量:

"variables": {
    "scriptUri": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-automation-runbook-getvms/Runbooks/Get-AzureVMTutorial.ps1",
},

我无法测试整个模板,因为我没有base64值,但我相信这应该可以解决您的问题。在此之后可能还有另一个人,你知道。

参考数据:https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-automation-runbook-getvms/azuredeploy.json

此外,您可以从模板中删除模块,因为它们不是必需的,它们都是默认模块,但对于它们的想法是相同的,您正在部署模块而不提供模块数据。

您可能在这里和那里缺少其他强制属性,看起来Automation Script在Azure自动化方面效果不佳。您可能希望借助Powershell来配置自动化帐户,因为它完全正常。

P.S。我不知道图形Runbook的内容是什么样的。但我猜,你可以导出它并上传到github,它会起作用。