使用python使用自定义映像在Azure上创建VM

时间:2018-03-02 11:23:43

标签: python azure virtual-machine

使用Azure中的市场映像启动VM非常简单。

这是相关的一段代码。

def create_vm(network_client,compute_client):

vm_parameters = {
    'storage_profile': {
        'image_reference': {
            'publisher': 'MicrosoftWindowsServer',
            'offer': 'WindowsServer',
            'sku': '2012-R2-Datacenter',
            'version': 'latest'
        }
    },

vm = compute_client.virtual_machines.create_or_update(
    GROUP_NAME, 
    VM_NAME, 
    vm_parameters
)

(显然,实际代码中有更多内容,这是我认为最相关的部分)

因此,在这种情况下,图像参考指向市场。

我使用以下文档来创建自定义图像。

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/create-vm-generalized-managed?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json

我想基于我创建的新自定义图像创建VM。我认为image_reference应该指向别的东西,但我不清楚它应该是什么。有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

实际上,Azure Python SDK使用Azure Rest API。您可以查看此example

所以,你可以修改你的脚本,如下所示:

vm_parameters = {
    'storage_profile': {
        'image_reference': {
            'id' : '/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}'
        }
    },