【发布时间】:2020-04-24 01:33:03
【问题描述】:
我正在尝试获取规模集中所有 VM 的专用 IP 地址列表(没有一个 VM 故意具有任何公共 IP 地址)。我找到了如何从az cli 获取此信息,如下所示:
az vmss nic list -g ResourceGroup --vmss-name ScaleSetName --query [].{ip:ipConfigurations[0].privateIpAddress} -o tsv
但是,我无法使用 Python SDK 获得相同的输出。我正在使用以下基本代码:
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
credentials = ServicePrincipalCredentials(client_id = CLIENT, secret = KEY, tenant = TENANT)
compute_client = ComputeManagementClient(credentials, SUBSCRIPTION)
vmss = compute_client.virtual_machine_scale_sets.get(RG, SC)
print(vmss.virtual_machine_profile.network_profile.network_interface_configurations[0].ip_configurations[0])
这是在 SDK 对象模型中寻找它们的正确位置吗?据我了解,网络属性应该在规模集级别,这是我在 API 中看到与网络相关的任何内容的唯一位置。但是,我在后续属性中只看到“私有 IP 版本”,并且由于没有公共 IP,因此该部分属性是空白的。
【问题讨论】:
标签: azure azure-sdk azure-sdk-python