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

时间:2018-02-28 12:55:54

标签: python azure disk azure-cli

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

使用下面的序列我能够以json格式获取列表,是否有任何类似的方法可以使用任何python模块实现这一点?

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

1 个答案:

答案 0 :(得分: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

注意:它将返回订阅中的所有磁盘。但是有些磁盘可能不是操作系统磁盘,它们可能是数据磁盘或不为虚拟机附加的磁盘。