azure虚拟机操作

2024-04-29 05:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的,我正在学习azure pythonsdk,有一些疑问。在

  1. 我没有使用任何凭据登录azure帐户,仍然可以访问 VM在我下面的代码中订阅,如何?在
  2. {1{1}正在使用{1}中的VM}获取 ,如何获取VM的列表,或者如何迭代VirtualMachinePaged objectreturn by list_all()来获取VM的列表?在
  3. 当我试图用#print(client.virtual_machines.get(resource_group_name='GSLab', vm_name='GSLabVM2'))打印VM的名称时,我得到了错误Resource group 'GSLab' could not be found. ,我检查并确定了“GSLab”中资源组的名称,那么为什么会出现这个错误?在

这是我的代码,谢谢你,如果可能的话,请推荐其他来源,以便更好地理解这些概念。在

from azure.common.client_factory import get_client_from_auth_file
from azure.mgmt.compute import ComputeManagementClient

client = get_client_from_auth_file(ComputeManagementClient)
#print(client)

vmlist = client.virtual_machines.list_all()
print(vmlist)
for vm in vmlist:
    print(vm.name)

print(client.virtual_machines.get(resource_group_name='GSLab', vm_name='GSLabVM2'))

Tags: 代码namefromclient列表getvirtualgroup
2条回答
vmlist = client.virtual_machines.list_all()
for vm in vmlist:
    print(vm.name)

此代码正确,此代码也正确:

^{pr2}$

如果它们都没有返回您对错误订阅进行身份验证的内容,则需要对正确的订阅进行身份验证。在

检查输出的简单方法:

vmlist.next().name

Q1:您可以从设置的身份验证文件中获取凭据,并且服务主体位于其中。在

Q2:您只需要删除print(vmlist)就可以了。在

第3季度:

代码:

client.virtual_machines.get(resource_group_name='GSLab', vm_name='GSLabVM2')

结果如下:

enter image description here

因此,您需要检查资源组“GSLab”是否真的存在于您在身份验证文件中设置的订阅中。在

相关问题 更多 >