在我当前的代码库中,当我创建 VM 时,DNS 名称被动态设置为与实例名称相同。例如,如果我的 VM 名称是“anandInstance”,则该名称的 DNS 名称将生成为“anandInstance.cloudapp.net”。有没有办法在创建过程中通过 REST API 更改 DNS 名称,如“dns1.cloudapp.net”?
我不认为这是可能的。想象一下,如果您能够这样做,门户中的噩梦会变成什么样?您如何将云服务 (whatever.cloudapp.net) 链接到实际部署 (MyDemoVm123)。但是,您可以使用自己的域并让 CNAME 记录指向您的“want-to-change-for-some-reason.cloudapp.net”(坦率地说,我肯定认为很快我们将使用更长的名称)
“连接到现有虚拟机”,是否可以通过 REST 调用实现此选项?
与 VM 的连接本质上是打开 RDP 会话。如果是 Windows VM,您可以尝试使用下载 RDP 文件API 调用。获得文件后,只需使用“process.start”启动它。如果是 linux VM,只需从您拥有的云服务 DNS 名称在端口 22(或您定义的端口)上启动 SSH 客户端。
更新
从 azure 门户,对于独立机器选项,我们可以使用默认的 cloudoneapp.net 提供 dns 名称。如何通过其余的 api 调用来做同样的事情。是否有任何特定的参数来指定相同的?
当您使用 REST API 时,您首先创建一个云服务(在 REST API 中仍称为托管服务),您的机器将在其中托管。在这里,您为该托管服务提供名称(dns name with deafult cloudoneapp.net
)。然后调用创建虚拟机部署API 操作。
如果“连接到现有的..”选项,我们将获得一个可供选择的虚拟机/服务列表,并且虚拟机正在成功创建。如何使用 API 实现相同的功能。
当您想获取所有 VM的列表时,只需获取所有托管服务的列表,然后获取每个的属性并猜测它是 VM 还是云服务(可能通过查询每个服务的属性)。我看不到对虚拟机列表的直接访问。但由于这个功能是PREVIEW,未来可能会发生变化。
希望我的回答清楚吗?