0

我正在开发一个需要使用 Azure Java SDK 检索 VM 的公共 ip 和私有 ip 的 Java 项目。

我发现了两个可能有用的类com.microsoft.azure.management.compute.VirtualMachine

com.azure.resourcemanager.compute.fluent.models.VirtualMachineInner

经过数小时的调查,我无法弄清楚如何。VirtualMachine 类仅具有获取主要公共 ip 的功能。他们都没有获取私有IP的功能。

我错过了这两个课程的任何内容吗?

有没有办法像我们az vm list -d --subscription $Subscription_Id在 Azure CLI 中获得的那样,列出订阅 Java SDK 下的 VM 的所有详细信息?

提前致谢

4

1 回答 1

0

调用(azure对象通过指南初始化https://aka.ms/azsdk/java/mgmt

var vms = azure.virtualMachines().list();

然后为他们每个人打电话

vm.getPrimaryNetworkInterface().primaryPrivateIP();

对于私有IP。

vm.getPrimaryPublicIPAddress();

对于公共 IP 的对象,它可以是null. 如果没有null,则使用ipAddress().

它更复杂,因为私有 IP 或公共 IP 不在VirtualMachine对象内,而是在NetworkInterface对象(或进一步的PublicIpAddress对象)中,需要通过额外的 REST API 来完成。

于 2021-11-28T02:28:51.617 回答