You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Python SDK创建VM时指定可用区

在Azure Python SDK中创建虚拟机时指定可用区的方法

你提到的begin_start方法是用于启动已存在的虚拟机,而非创建虚拟机。创建或更新虚拟机需要使用VirtualMachinesOperations类中的begin_create_or_update方法,该方法完全支持指定可用区,和Azure CLI的功能一致。

指定可用区的具体步骤:

在构造VirtualMachine对象参数时,除了指定location(区域),还需设置zone属性为目标可用区的编号(字符串类型,例如"1"、"2"或"3")。

代码示例:

from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.compute.models import (
    VirtualMachine,
    VirtualMachineHardwareProfile,
    VirtualMachineStorageProfile,
    VirtualMachineOSProfile,
    VirtualMachineNetworkProfile,
    NetworkInterfaceReference
)

# 初始化客户端(需提前完成身份验证,获取credential和subscription_id)
compute_client = ComputeManagementClient(credential, subscription_id)

# 构建虚拟机配置参数
vm_config = VirtualMachine(
    location="eastus",
    zone="1",  # 这里指定可用区
    hardware_profile=VirtualMachineHardwareProfile(vm_size="Standard_D2s_v3"),
    storage_profile=VirtualMachineStorageProfile(
        image_reference={
            "publisher": "Canonical",
            "offer": "0001-com-ubuntu-server-jammy",
            "sku": "22_04-lts",
            "version": "latest"
        }
    ),
    os_profile=VirtualMachineOSProfile(
        computer_name="my-zone-vm",
        admin_username="adminuser",
        admin_password="StrongPass123!"  # 生产环境推荐使用SSH密钥替代密码
    ),
    network_profile=VirtualMachineNetworkProfile(
        network_interfaces=[
            NetworkInterfaceReference(
                id="/subscriptions/{你的订阅ID}/resourceGroups/{资源组名}/providers/Microsoft.Network/networkInterfaces/{网卡名}"
            )
        ]
    )
)

# 发起创建虚拟机请求
poller = compute_client.virtual_machines.begin_create_or_update(
    resource_group_name="你的资源组名",
    vm_name="my-zone-vm",
    parameters=vm_config
)
# 等待操作完成
vm_result = poller.result()

补充说明:

如果需要修改已存在虚拟机的可用区(仅部分区域和VM SKU支持该操作),同样使用begin_create_or_update方法,传入包含新zone值的VirtualMachine参数即可,但需提前确认目标区域和VM规格支持可用区变更。

内容的提问来源于stack exchange,提问作者prometheus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 22:12:50