是否可以在常规google云虚拟机实例中安装的jupyter集中使用datalab个包,而不是运行容器的datalab实例?如果是这样,那么我无法弄清楚如何正确设置凭据以访问谷歌云服务。
我已按照datalab的说明pip install datalab并启用了jupyter扩展程序。这一切看起来都很顺利,但我无法连接任何谷歌云服务,例如bigquery。
from google.datalab import Context
context = Context.default()
context.set_project_id('<the-proj-id>')
context._is_signed_in()
# True
context.credentials.service_account_email
# '<default-service-account-for-project>@developer.gserviceaccount.com'
<default-service-account-for-project>@developer.gserviceaccount.com
拥有bigquery的编辑权。
%load_ext google.datalab.kernel
set_datalab_project_id('<the-proj-id>')
但是,bq magic没有连接bigquery的权限
%bq datasets list
# HTTP request failed: Insufficient Permission
datalab是否设计为在datalab docker环境之外工作?
如果是,那么如何正确设置凭证?
非常感谢。
答案 0 :(得分:1)
是的,您可以在常规的非datalab VM实例中使用install并使用datalab。
我遇到的权限错误是&#34; Cloud API访问范围&#34;在VM实例本身上。该实例没有对任何云服务的Cloud API访问权限。默认似乎无法访问云API。
我在VM实例详细信息页面上启用了bigquery访问范围,并且datalab按预期工作。
如果我在vm实例的命令行测试了bigquery并且发现它失败并且出现了权限错误,那么我会更早地发现这一点,这表明问题不在于datalab。