Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模块';azure.common.credentials';没有属性';签字会议';_Azure_Azure Sdk_Azure Sdk Python - Fatal编程技术网

模块';azure.common.credentials';没有属性';签字会议';

模块';azure.common.credentials';没有属性';签字会议';,azure,azure-sdk,azure-sdk-python,Azure,Azure Sdk,Azure Sdk Python,我需要帮助理解我从Azure SDK for Python获得的异常 因此,我尝试使用以下代码从Azure获取公共IP列表: import azure.common.credentials as creds from azure.mgmt.subscription import SubscriptionClient from azure.mgmt.network.v2019_02_01 import NetworkManagementClient credentials = creds.get

我需要帮助理解我从Azure SDK for Python获得的异常

因此,我尝试使用以下代码从Azure获取公共IP列表:

import azure.common.credentials as creds
from azure.mgmt.subscription import SubscriptionClient
from azure.mgmt.network.v2019_02_01 import NetworkManagementClient

credentials = creds.get_azure_cli_credentials(resource=None, with_tenant=False)[0]
sub_client = SubscriptionClient(credentials)
subs = [sub.as_dict() for sub in sub_client.subscriptions.list()]

for s in subs:
  sub_id = s['id'][15:]
  network_client = NetworkManagementClient(creds, sub_id)
  pub_ips = network_client.public_ip_addresses.list_all()
  print("done")
  for ip in pub_ips:
    print(ip.ip_address)
以下是输出:

Traceback (most recent call last):
done
  File "/Users/user/repo/azure_public_ip.py", line 18, in <module>
    for ip in pub_ips:
  File "/usr/local/lib/python3.7/site-packages/msrest/paging.py", line 143, in __next__
    self.advance_page()
  File "/usr/local/lib/python3.7/site-packages/msrest/paging.py", line 129, in advance_page
    self._response = self._get_next(self.next_link)
  File "/usr/local/lib/python3.7/site-packages/azure/mgmt/network/v2019_02_01/operations/public_ip_addresses_operations.py", line 445, in internal_paging
    response = self._client.send(request, stream=False, **operation_config)
  File "/usr/local/lib/python3.7/site-packages/msrest/service_client.py", line 336, in send
    pipeline_response = self.config.pipeline.run(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/msrest/pipeline/__init__.py", line 197, in run
    return first_node.send(pipeline_request, **kwargs)  # type: ignore
  File "/usr/local/lib/python3.7/site-packages/msrest/pipeline/__init__.py", line 150, in send
    response = self.next.send(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/msrest/pipeline/requests.py", line 65, in send
    self._creds.signed_session(session)
AttributeError: module 'azure.common.credentials' has no attribute 'signed_session'
回溯(最近一次呼叫最后一次):
完成
文件“/Users/user/repo/azure_public_ip.py”,第18行,在
对于发布ip中的ip:
文件“/usr/local/lib/python3.7/site packages/msrest/paging.py”,第143行,下一页__
self.advance_第页()
文件“/usr/local/lib/python3.7/site packages/msrest/paging.py”,第129行,提前页
self.\u response=self.\u get\u next(self.next\u链接)
文件“/usr/local/lib/python3.7/site packages/azure/mgmt/network/v2019\u 02\u 01/operations/public\u ip\u addresses\u operations.py”,第445行,内部分页
response=self.\u client.send(请求,流=False,**操作\u配置)
文件“/usr/local/lib/python3.7/site packages/msrest/service_client.py”,第336行,在send中
pipeline_response=self.config.pipeline.run(请求,**kwargs)
文件“/usr/local/lib/python3.7/site-packages/msrest/pipeline/__-init__.py”,第197行,运行中
返回第一个节点。发送(管道请求,**kwargs)#类型:忽略
文件“/usr/local/lib/python3.7/site-packages/msrest/pipeline/__-init___.py”,第150行,在send中
response=self.next.send(请求,**kwargs)
文件“/usr/local/lib/python3.7/site packages/msrest/pipeline/requests.py”,第65行,在send中
自我信任签名会话(会话)
AttributeError:模块“azure.common.credentials”没有“已签名会话”属性
如您所见,“done”消息会打印出来,因此除非我尝试遍历公共IP列表,否则不会发生异常。我被这个错误弄糊涂了,因为它听起来好像凭证出了问题。但是,如果对公共IP列表的请求没有引起异常,怎么会出现这种情况呢?如果删除最后两行,则没有例外。

这一行:

network_client = NetworkManagementClient(creds, sub_id)
应该是

network_client = NetworkManagementClient(credentials, sub_id)

现在你正在通过你在第1行导入的模块

哦,糟了。谢谢我应该注意到。。。我非常专注于尝试使用正确的类和函数,甚至没有意识到这是个问题。