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

问题描述 投票:2回答:1

在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
)

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

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

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

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

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

谢谢!

python azure virtual-machine
1个回答
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}'
        }
    },
© www.soinside.com 2019 - 2024. All rights reserved.