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

2022新版Azure SDK for .NET如何获取VM主网卡私有IP地址

新版Azure .NET管理SDK获取虚拟机私有IP实现方式

新版Track 2版Azure .NET管理SDK没有在VirtualMachineResource类型上直接暴露私有IP相关属性。和旧版SDK将关联资源字段拉平封装的设计不同,新版SDK严格对齐Azure资源的实际层级关系:虚拟机的私有IP属于其绑定的网络接口(NIC)资源,不属于VM资源本身,按以下两步即可拿到目标值:

  • 获取VM关联的所有网络接口
    调用已获取到的VirtualMachineResource实例的GetVirtualMachineNetworkInterfaces方法,就能拿到该虚拟机绑定的全部NIC资源引用:
    // 此处vm为你已查询到的目标虚拟机实例
    var nicReferences = vm.GetVirtualMachineNetworkInterfaces().ToList();
    
  • 遍历NIC读取IP配置中的私有IP
    从VM关联关系拿到的NIC是轻量引用对象,需要先调用Get()或GetAsync()拉取完整NIC资源数据,再从IPConfigurations属性下读取私有IP:
    foreach (var nicRef in nicReferences)
    {
        var nic = nicRef.Get().Value;
        foreach (var ipConfig in nic.Data.IPConfigurations)
        {
            // 对应IP配置的私有IP地址
            var privateIpAddress = ipConfig.PrivateIPAddress;
            
            // 如需获取和旧版SDK默认返回一致的主IP,可通过Primary属性筛选
            if (nic.Data.Primary == true && ipConfig.Primary == true)
            {
                var vmPrimaryPrivateIp = ipConfig.PrivateIPAddress;
            }
        }
    }
    

注意:如果虚拟机配置了多块弹性网卡、单块网卡绑定了多个IP配置,遍历会返回多条IP记录,按需筛选即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 08:15:26