以前書いた記事のやり方では、すでに実行済みのnotebookをhtmlにして送ってただけなので日時レポートとしては失敗してた。
nbconvertに--executeをつけないといけないらしい。
datalabのコンテナにdocker exec **** bash出入り
>>||
jupyter nbconvert --to html --execute /content/datalab/Daily/nbconvert_test.ipynb
<< |
を実行
メッセージをみると
ApplicationDefaultCredentialsError: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
環境変数 GOOGLE_APPLICATION_CREDENTIALS に認証ファイルを指定しろというメッセージ。
>>||
from datalab.context import Context
<< |
の認証周りを探ったけどファイルパスが出てこない。
ソースを漁ってると、jsで(jupyterが動いてるnode.js?)でパスの記述があったので使ってみる。
一番上のセルに下記を記述
>>||
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]= "/content/datalab/.config/application_default_credentials.json"
<< |
これで動いた。
おそらく右上のログイン時に作られているファイルだけど、認証期限がいつまでなのかとか、切れてた場合に、コマンド上で更新する方法はまだわからない。