我正在尝试在运行时在 ARM 模板中派生我的 Azure 自动化 DSC 帐户的注册密钥和 URL。我尝试使用与存储帐户相同的语法,即。
listKeys(resourceId('Microsoft.Storage/storageAccounts', 'StorageAccountName'), '2015-05-01-preview').key1)
通过这样做:
listKeys(resourceId('Microsoft.Automation/automationAccounts', 'AutomationAccountName'), '2015-05-01-preview').key1)
但没有运气(似乎该函数只是返回 null)。这自然会使预配自动化帐户和 VM 以及将 VM 连接到同一模板中的自动化帐户变得容易。有没有人成功地得到了类似的东西?
根据此GitHub票证,这仍在开发中。
https://github.com/azureautomation/automation-packs/issues/7
对于 Azure 自动化 API 的第 2015-10-31
版,以下内容似乎有效。
获取注册网址:
reference(resourceId('Microsoft.Automation/automationAccounts/', 'AutomationAccountName'), '2015-10-31').RegistrationUrl
获取主键:
listKeys(resourceId('Microsoft.Automation/automationAccounts/', 'AutomationAccountName'), '2015-10-31').keys[0].value
获取辅助密钥:
listKeys(resourceId('Microsoft.Automation/automationAccounts/', 'AutomationAccountName'), '2015-10-31').keys[1].value
作为参考,从自动化帐户资源的listKeys()
模板函数返回的对象如下所示(通过使用 listKeys()
将输出值添加到 ARM 模板的输出部分,可以轻松找到):
{
"keys": [
{
"KeyName": "Primary",
"Permissions": "Full",
"Value": "VALUE OF PRIMARY KEY"
},
{
"KeyName": "Secondary",
"Permissions": "Full",
"Value": "VALUE OF SECONDARY KEY"
}
]
}