我正在尝试使用python代码列出Azure VM。有人可以帮我解决这个问题吗?
我已经尝试浏览Microsoft网站上的代码,但是我不清楚。
答案 0 :(得分:0)
首先,您需要按照Azure官方文档Azure REST API Reference
的{{3}}部分在Azure门户上向Azure AD注册应用程序,以获取所需的参数client_id
和{{1} }以列出虚拟机。
然后,您将继续获得其他必需的参数secret
和subscription_id
。
然后,在Python中创建虚拟环境,以通过tenant_id
安装适用于Python的Azure SDK,或仅通过pip install azure
安装适用于Python的Azure Compute Management。
这是我的示例代码。
pip install azure-mgmt-compute
如果仅按资源组列出虚拟机,则使用功能Register your client application with Azure AD
作为下面的代码。
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
credentials = ServicePrincipalCredentials(
client_id='<your client id>',
secret='<your client secret>',
tenant='<your tenant id>'
)
subscription_id = '<your subscription id>'
client = ComputeManagementClient(credentials, subscription_id)
或者您要列出预订中的所有VM,以使用功能list(resource_group_name, custom_headers=None, raw=False, **operation_config)
作为下面的代码。
resource_group_name = '<your resource group name>'
vms_by_resource_group = client.virtual_machines.list(resource_group_name)
作为参考,我认为有两个SO线程可能有助于更深入地理解:list_all(custom_headers=None, raw=False, **operation_config)
和How to get list of Azure VMs (non-classic/Resource Managed) using Java API。
希望有帮助。