在google cloud vm实例中使用pydatalab(不是datalab实例)

时间:2017-11-21 04:45:32

标签: google-cloud-datalab

是否可以在常规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环境之外工作?

如果是,那么如何正确设置凭证?

非常感谢。

1 个答案:

答案 0 :(得分:1)

是的,您可以在常规的非datalab VM实例中使用install并使用datalab。

我遇到的权限错误是&#34; Cloud API访问范围&#34;在VM实例本身上。该实例没有对任何云服务的Cloud API访问权限。默认似乎无法访问云API。

我在VM实例详细信息页面上启用了bigquery访问范围,并且datalab按预期工作。

如果我在vm实例的命令行测试了bigquery并且发现它失败并且出现了权限错误,那么我会更早地发现这一点,这表明问题不在于datalab。