&引用;DiskImageNotReady“;使用ARM模板和JSON在Azure中创建VM时出错

&引用;DiskImageNotReady“;使用ARM模板和JSON在Azure中创建VM时出错,json,powershell,azure,cloud,Json,Powershell,Azure,Cloud,我正在尝试使用ARM模板部署3个azure Ubuntu虚拟机。它们是作为资源组、存储帐户、SQL Server等大型基础架构部署的一部分进行部署的。除了创建VM之外,一切都很好。在使用单个VM进行测试期间,脚本正常工作,但使用3时,我遇到以下错误- New-AzureRmResourceGroupDeployment : 16:52:57 - Resource Microsoft.Compute/virtualMachines 'xxxV3Monitor1' failed with m

我正在尝试使用ARM模板部署3个azure Ubuntu虚拟机。它们是作为资源组、存储帐户、SQL Server等大型基础架构部署的一部分进行部署的。除了创建VM之外,一切都很好。在使用单个VM进行测试期间,脚本正常工作,但使用3时,我遇到以下错误-

    New-AzureRmResourceGroupDeployment : 16:52:57 - Resource Microsoft.Compute/virtualMachines 'xxxV3Monitor1' failed with message '{
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DiskImageNotReady",
        "message": "Disk image https://xxxxxx.blob.core.windows.net/rootvhd/v1ubuntudocker.vhd is in Pending state. Please retry when image is ready."
      }
我们正在使用的自定义根VHD映像似乎由于处于“挂起”状态而失败,我假设这是文件上的某个锁,因为它正被用于创建另一个VM


非常感谢您的帮助。谢谢

我假设在创建虚拟机之前,您正在移动虚拟机映像。 如果是,请在移动后和启动部署脚本之前尝试以下代码: ($blob1是您调用Start-AzureStorageBlobCopy命令的变量)


这将每分钟更新一次状态。

要补充一点,我已经尝试将每个VM设置为具有上一个VM的依赖项,以错开构建,但这似乎没有帮助。
### Retrieve the current status of the copy operation ###
$status = $blob1 | Get-AzureStorageBlobCopyState 

### Print out status ### 
$status 

### Loop until complete ###                                    
While($status.Status -eq "Pending"){
  $status = $blob1 | Get-AzureStorageBlobCopyState 
  Start-Sleep -s 60
  ### Print out status ###
  $status
}