当前位置: 首页 > 知识库问答 >
问题:

在Python中使用azurerm时,如何解决Azure中的以下错误“代码”:“NorRegisteredProviderFound”?

薛经艺
2023-03-14

我在代码中使用以下azurerm函数:

public_ips = azurerm.get_vmss_public_ips(access_token, SUBSCRIPTION_ID, 
GROUP_NAME, CUScaleSet)

print(public_ips)

我得到以下输出:

{u'error':{u'message':u“未找到位置‘eastus’的注册资源提供商和类型‘virtualMachineScaleSets/publicIPAddresses’的API版本‘2019-03-01’。支持的API版本为‘2017-03-302017-12-012018-04-012018-06-012018-10-01’。支持的位置为‘eastus、eastus2、westus、centralus、northcentralus、southcentralus、northeurope、West和Weststeurope、东亚、东南亚、日本东部、日本西部、澳大利亚东部、澳大利亚南部、澳大利亚中部、巴西南部、南印度、中林迪亚、西印度、加拿大中部、加拿大东部、西部2、西中部、英国南部、英国西部、朝鲜中部、朝鲜南部、法国中部、南非北部、乌阿诺思’。“,u'code':u'norRegisteredProviderFound'}”

注意:同一段代码几天前还在运行。

共有1个答案

微生景胜
2023-03-14

如果要求在VMs实例中获取VMs的所有IP,则可以使用官方Azure SDK for Python,如下所示:

# Imports
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.network import NetworkManagementClient

# Set subscription ID
SUBSCRIPTION_ID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'


def get_credentials():
    credentials = ServicePrincipalCredentials(
        client_id='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
        secret='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
        tenant='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
    )

    return credentials


# Get credentials
credentials = get_credentials()


# Initialize management client
network_client = NetworkManagementClient(
    credentials,
    SUBSCRIPTION_ID
)


def get_vmss_vm_ips():

    # List all network interfaces of the VMSS instance
    vmss_nics = network_client.network_interfaces.list_virtual_machine_scale_set_network_interfaces(
        "<VMSS Resource group name>", "<VMSS instance name>")

    niclist = [nic.serialize() for nic in vmss_nics]

    print "IP addresses in the given VM Scale Set:"

    for nic in niclist:
        ipconf = nic['properties']['ipConfigurations']

        for ip in ipconf:
            print ip['properties']['privateIPAddress']


# Get all IPs of VMs in VMSS
get_vmss_vm_ips()

参考资料:

  • 网络接口操作类

希望这有帮助!

 类似资料:
  • 我对vue.js非常陌生,现在我正在尝试使用https://ly525.github.io/material-vue-daterange-picker/guide.html#Introduction中的vue.js datepicker 但是当我导入要使用的脚本时,我会得到这样的消息 “VMDDateRangePicker”已声明,但其值从未读取。TS(6133)找不到模块“v-md-date-r

  • 这里和是数据类型 我的错误从这一行开始:在这方面有人能帮助我吗 错误是“从lambda表达式引用的局部变量必须是final或有效的final”

  • 我有一个有 7 列的 csv 文件 问题是我试图设置日期时间索引,但它不起作用可能是因为日期和时间是两个单独的列。 代码如下: 错误如下: C:\用户\sydgo\Anaconda3\_locE:/教程/pandas_libsTraceback(最近调用最后一次):文件“C:\用户\sydgo\Anaconda3\lib\站点包\熊猫\核心\索引\_loc”,第2442行,get_loc返回自我。

  • 我写电子邮件类: 但我只得到了这个错误,我不理解这个错误。这意味着什么以及如何解决 错误:错误:在TCPConnectW连接ECONNREFUSED3.209.246.195:2525rap.after连接[作为完成](net.js:1146: 16){errno:-4078,代码:“ESOCKET”,系统调用:“连接”,地址:“3.209.246.195”,端口:2525,命令:“CONN”}

  • 问题内容: 我正在处理几个大的txt文件,每个文件大约有800万行。以下是这些行的简短示例: 将它们存储在字典中的代码是: 它在第一个txt文件中运行良好,但是在第二个txt文件中运行时,出现错误。 我正在使用Windows 7 64bit和python 2.7 32bit,intel i5 cpu,8Gb内存。我该如何解决这个问题? 进一步说明:我有四个大文件,每个文件包含许多实体的不同信息。例

  • 我是Spring的新手,在尝试使用@AutoWired注释、尝试在PostController中注入Repository类时遇到了一些问题