获取附加到特定订阅中 VM 的 Azure OS 磁盘列表

Posted

技术标签:

【中文标题】获取附加到特定订阅中 VM 的 Azure OS 磁盘列表【英文标题】:Get a list of Azure OS Disks attached to VMs in specific subscription 【发布时间】:2018-08-08 08:47:36 【问题描述】:

我正在获取特定订阅的所有资源组中附加到 Azure 中 VM 的操作系统磁盘列表。我找到了AZ utility 来获取 json 格式的列表。

使用下面的序列,我可以得到 json 格式的列表,有没有类似的方法可以使用任何 python 模块来实现?

az login
az account set --subscription <subscription>
az disk list

【问题讨论】:

【参考方案1】:

是的,这是可能的。您可以使用方法list 来获取订阅中的磁盘。

例如:

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient

# Tenant ID for your Azure Subscription
TENANT_ID = ''

# Your Service Principal App ID
CLIENT = ''

# Your Service Principal Password
KEY = ''

credentials = ServicePrincipalCredentials(
    client_id = CLIENT,
    secret = KEY,
    tenant = TENANT_ID
)

subscription_id = ''

compute_client = ComputeManagementClient(credentials, subscription_id)

disks = compute_client.disks.list()
for disk in disks:
    print disk

注意:它将返回您订阅中的所有磁盘。但有可能某些磁盘不是操作系统磁盘,它们可能是数据磁盘或未附加到 VM 的磁盘。

【讨论】:

但是python脚本结果等于az disk list 你也可以在这个链接docs.microsoft.com/en-us/python/api/…中查看python managed disk sdk 感谢盛宝!这对我帮助很大。 注意:链接已更改:docs.microsoft.com/en-us/python/api/azure-mgmt-compute/…

以上是关于获取附加到特定订阅中 VM 的 Azure OS 磁盘列表的主要内容,如果未能解决你的问题,请参考以下文章

Azure ARM模式下获取订阅下VM信息

如何在 Azure APIM 中获取 API 的订阅者 ID?

如何从用于 vm 的 Azure Python SDK 获取 OS 磁盘相关的详细信息

Azure 中如何获取未附加磁盘的磁盘容量和可用空间

如何将 SSD(高级)磁盘附加到我的 NC6 - Microsoft Azure 中的数据科学 VM?

Azure Resource Manager API用户的订阅范围授权