首页 文章

Azure Windows VM - 如何找出它所在的资源组?

提问于
浏览
2

我在Azure Windows VM上运行C#代码 . 有没有办法让我找出这个VM所属的资源组?

VM已部署Azure资源管理API(新的,不是经典的)

3 回答

  • 0

    以下内容将保证能够区分不同资源组中具有相同名称的vm:

    从您的C#代码中,找到vmId(涉及在以下链接上运行其中一个命令,或者可能使用Azure SDK:https://azure.microsoft.com/en-us/blog/accessing-and-using-azure-vm-unique-id/) . 如果使用Linux VM,请务必考虑不同的endian-ness,否则vmId将不匹配 .

    拥有vmId后,您可以使用CLI或Powershell(或可能是Azure SDK)列出订阅中的所有VM,然后搜索列表以查找哪台VM具有您从计算机获得的vmId . 然后,您应该能够从该VM的json的“id”字段中解析出资源组名称(正如Gaurav所提到的,它是一个包含资源组的字符串) . 例如,尝试以下操作:

    azure vm list --json -vv
    

    此命令将显示用于发出请求和响应正文的URL . 在本机构中,您将找到“vmId”和“id”字段 . 例如,它发送的一个请求是:

    https://management.azure.com/subscriptions/{my-subscription-id}/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15
    

    并且响应主体是具有相关条目的json . 希望这可以帮助! :)

  • 2

    找出资源组的一种方法是列出Azure订阅中的所有虚拟机 . 您将使用的URL将是:

    https://management.azure.com/subscriptions/[subscription-id]/providers/Microsoft.Compute/virtualMachines?api-version=2015-06-15

    它将以JSON格式返回Azure订阅中所有虚拟机的列表,其中每个项目代表一个虚拟机 . 您可以先按 name 属性进行筛选,以查找匹配的虚拟机 . 那么对你来说很重要的属性是 id ,它的格式总是如下:

    /subscriptions/[subscription-id]/resourceGroups/[resource-group-name]/providers/Microsoft.Compute/virtualMachines/[virtual-machine-name]

    您可以简单地解析它以获取资源组名称 .

  • 0

    你是如何部署VM的?通过portal.azure.com?通过CLI?电源外壳?在任何这些情况下,通常都需要指定资源组名称 . 实际上,在门户网站中,如果单击“虚拟机”,它应该说是资源组:

    resource group of VM in portal

相关问题