2017-11-21 11 views
1

datalabパッケージは、コンテナを実行しているdatalabインスタンスではなく、通常のGoogleクラウドVMインスタンスにインストールされているjupyterセットで使用できますか?もしそうなら、私はGoogleのクラウドサービスにアクセスするためにクレデンシャルを正しく設定する方法を理解することができません。Google Cloudのインスタンス(データラップのインスタンスではない)でpydatalabを使用

datalabの指示に従ってpipをインストールし、jupyter拡張機能を有効にしました。すべてうまくいくようですが、私はbigqueryなどのGoogleクラウドサービスに接続できません。

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 datasets list 
# HTTP request failed: Insufficient Permission 

をBigQueryのために接続する権限を持っていないBQはdatalabドッキングウィンドウのevironment外で動作するように設計さdatalabですか?

もしそうなら、どのようにして資格情報を正しく設定しますか?

多くのありがとうございます。

答えて

1

はい、通常の非datalab VMインスタンスでdatalabをインストールして使用することができます。

私が行ったアクセス許可エラーは、VMインスタンス自体の「クラウドAPIアクセススコープ」にありました。インスタンスにクラウドサービスへのクラウドAPIアクセスがありませんでした。デフォルトでは、クラウドアピスにアクセスできないように見えます。

VMインスタンスの詳細ページでbigqueryアクセススコープを有効にし、datalabが期待通りに機能しました。

vmインスタンスのコマンドラインでbigqueryをテストし、そこにパーミッションエラーが発生してデータラップで問題が発生していないことが判明した場合は、これを早く発見しました。

関連する問題