java API 中的 AzureRm 中是否有任何方法仅通过实例名称获取虚拟机对象而无需资源组?

Is there any way to get Virtual Machine object by just instance name without resource Group in AzureRm in java API?

VirtualMachineGetResponse get(String resourceGroupName, String vmName) throws IOException, ServiceException, URISyntaxException;

从 VirtualMachineGetResponse,我可以获得 VirtualMachine。 是否有任何方法仅通过提供 instanceId 来获取 VirtualMachine 对象,因为上面的代码片段需要 resourceGroupName 和 instanceName?

从 ARM 的工作原理来看,我认为根本没有办法做到这一点(无论 language\tool 您使用的是什么)。

您可以做的是从所有虚拟机中获取列表并过滤您需要的那个。

对于任何语言,在 ARM 中都无法获取只有实例名称的 VM 对象。它依赖于 Azure REST API Get for Virtual Machines in ARM,Java API 只是包装它。

REST API GET 对 ARM 虚拟机的请求,如下所示。

GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2016-03-30[&$expand]

除了身份验证需要 subscriptionId 之外,api uri 中还需要参数 resourceGroupNamevmName