可以通过在ARM模板中手动设置启动诊断存储容器的名称和SAS URI来解决此问题。 示例代码如下:
"resources": [
{
"type": "Microsoft.Compute/virtualMachines",
"name": "myVM",
"apiVersion": "2017-03-30",
"location": "[resourceGroup().location]",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_DS1_v2"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2016-Datacenter",
"version": "latest"
},
"osDisk": {
......
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('https://', parameters('bootDiagnosticStorageAccountName'), '.blob.core.windows.net')]"
}
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('bootDiagnosticStorageAccountName')]",
"apiVersion": "2016-12-01",
"location": "[resourceGroup().location]",
"sku": {
"name": "[parameters('bootDiagnosticStorageAccountType')]"
},
"kind": "Storage",
"properties": {
"accessTier": "Cool"
}
}
]
}
]
在示例模板中,可以看到我们明确设置了启动诊断的存储容器名称和SAS URI。这样,ARM模板将知道在哪个已存在的存储容器中存储启动诊断数据。