创建客户端

  1. from azure.common.client_factory import get_client_from_cli_profile
  2. from azure.mgmt.compute import ComputeManagementClient
  3. subscription_id = "14a12b4a-xxxx-xxxx-xxxx-5436954d3e1b"
  4. client = get_client_from_cli_profile(ComputeManagementClient, subscription_id=subscription_id)

获取基本信息

  1. vm1 = client.virtual_machines.get(resource_group_name='ENV-171397', vm_name='env-171397laioeastus')

获取状态信息

  1. vm1_status = client.virtual_machines.instance_view(resource_group_name='ENV-171397',vm_name='env-171397laioeastus')

VM状态常用属性的示例值

  1. vm1.statuses[0].code = 'ProvisioningState/succeeded'
  2. vm1.statuses[0].display_status = 'Provisioning succeeded'
  3. vm1.statuses[1].code = 'PowerState/stopped'
  4. vm1.statuses[1].display_status = 'VM stopped'
  5. vm1.vm_agent.statuses[0].code = 'ProvisioningState/succeeded'
  6. vm1.vm_agent.statuses[0].display_status = 'Ready'
  7. vm1.vm_agent.vm_agent_version = '2.2.46'
  8. vm1.os_name = 'redhat'
  9. vm1.os_version = '7.6'

subscription client

用来获取订阅的数据

  1. from azure.common.client_factory import get_client_from_cli_profile
  2. from azure.mgmt.subscription import SubscriptionClient
  3. subscription_client = get_client_from_cli_profile(SubscriptionClient)
  4. for per_subscription in subscription_client.subscriptions.list():
  5. print(per_subscription.__dict__)