【问题标题】:Azure Windows VM - how can I find out what Resource Group it is in?Azure Windows VM - 我如何找出它所在的资源组?
【发布时间】:2015-11-15 05:37:47
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是服务管理 API 还是资源管理器 API?另外,VM 是经典的还是新的?
  • 我猜你只有虚拟机名称?
  • 是的,甚至不确定这有多可靠

标签: azure azure-virtual-machine azure-resource-manager


【解决方案1】:

以下将保证能够区分不同资源组中的同名虚拟机:

从您的 C# 代码中,找到 vmId(涉及运行以下链接中的命令之一,或者可能使用 Azure SDK:https://azure.microsoft.com/en-us/blog/accessing-and-using-azure-vm-unique-id/)。如果使用 Linux VM,请务必考虑不同的字节序,否则 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]

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

    【讨论】:

    • 这可靠吗? 2 个不同的组中可以有 2 个同名的资源吗?
    • 是的,在 2 个不同的组中可以有 2 个同名资源。在这种情况下,您需要能够唯一标识该项目的东西。
    【解决方案3】:

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

    resource group of VM in portal

    【讨论】:

    • 我需要一种程序化的方式来找到它。虚拟机不是我的。我们在虚拟机上安装了一个代理,它不知道虚拟机所在的组
    【解决方案4】:

    write-host(Get-AzVm -name "hostname").ResourceGroupName

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2020-10-29
      • 1970-01-01
      • 2018-01-10
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多