我正在使用:
Python代码如下所示:
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
def run():
""" Run this script
"""
ComputeEngine = get_driver(Provider.GCE)
driver = ComputeEngine(user_id='****@****.com',
credential_file='serviceaccount.json',
project='****')
run()
当我运行代码时,我得到:
Traceback (most recent call last):
File "./myscript.py", line 47, in <module>
run()
File "./myscript.py", line 21, in run
project='ebs-it', secure=True)
File "/***/virtualenv/lib/python3.5/site-packages/libcloud/compute/drivers/gce.py", line 1795, in __init__
super(GCENodeDriver, self).__init__(user_id, key, **kwargs)
File "/***/virtualenv/lib/python3.5/site-packages/libcloud/common/base.py", line 975, in __init__
self.connection = self.connectionCls(*args, **conn_kwargs)
TypeError: __init__() missing 1 required positional argument: 'secure'
在我看来这是perfectly textbook。知道会出什么问题吗?你知道吗
问题有两个方面:对谷歌的服务账户不熟悉,导致编码错误。你知道吗
credential_file
参数,它似乎比服务帐户文件应该使用的key
参数更合适。这就是导致我所看到的实际错误的原因。你知道吗相关问题 更多 >
编程相关推荐