如何使用API​​从Azure中已上载的VHD创建VM映像

时间:2017-04-06 03:01:38

标签: ruby api powershell azure virtual-machine

我使用packer在Azure中创建了一个VHD并将其上传到Azure。所以它现在可以在存储帐户中使用。现在,我想创建一个VM Image,我可以使用API​​在市场上发布它。我搜索过文档并查看了powershell的Add-​Azure​VM​Image,但我需要使用相同的API(嗯,Ruby库是完美的)。

  1. 我使用打包器创建了一个VHD,它可以在存储帐户中使用
  2. 我需要从该VHD创建一个图像。标题为“VM Image”的博客文章讲述了运行VM并将该VM的快照作为映像,而我不希望创建VM。
  3. 为了更清楚,我需要类似于https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/create-upload-vhd中的第3步的内容......这不需要本地vhd文件

2 个答案:

答案 0 :(得分:0)

因此,您已将.vhd文件上传到存储帐户,然后您应运行此PowerShell以使用此.vhd文件创建图像。

Add-AzureVmImage -ImageName' xyz' -Label' xyz' -MediaLocation' VHD的位置' -OS Windows

答案 1 :(得分:0)

似乎您想要的REST API Create a virtual machine image与json请求正文Create a virtual machine image from a blob如下所示。

{
  "location": "West US",
  "properties": {
    "storageProfile": {
      "osDisk": {
        "osType": "Windows",
        "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        "osState": "generalized"
      }
    }
  }
} 

为了使用Azure Ruby SDK,我找到了模型Azure::ARM::Compute的方法create_or_update,但没有任何示例代码。

希望它有所帮助。