収益があるわけでもない、ただの趣味Webサービスに金をかけることも出来ないので、古いデータを外出しする方法を調べてみました。
今回はそのうち、Google App EngineのBigQuery上にあるデータを手元のデスクトップPCにコピーする手順を紹介します。
1. app.yamlを編集する
下記の二行を追加する。
builtins:
- remote_api: on
2. コマンドを実行してアプリケーションを更新する。
<GAEのインストールパス>/appcfg.py update <app-directory>
注: <app-directory>は直下にapp.yamlがおいてあるディレクトリを指定する必要がある。
3. コピーの実行
%><gae-install-dir>/appcfg.py download_data --application=<app-id> --url=http://<appname>.appspot.com/[remote_api_path] --filename=<data-filename>
<app-id>はapp.yamlに定義した"application"の値。
ただし、high-replication datastoreを使ってる場合、appidの先頭にs~をつける必要がある。
例) applicationの値がexampleで、high-replication datastoreを使ってる場合は下記のようになる。
%><gae-install-dir>/appcfg.py download_data --application=s~example --url=http://example.appspot.com/_ah/remote_api --filename=/tmp補足
どうやら、このコマンド実行もDataStoreのリクエスト制限の対象のようで、OverQutaErrorが出てしまいました。OverQuotaError: The API call datastore_v3.RunQuery() required more quota than is available.このような場合は下記のようにkindを指定したほうがよさそうです。%><gae-install-dir>/appcfg.py download_data --application=example --kind=<kind> --url=http://example.appspot.com/_ah/remote_api --filename=/tmp参考文献
データのアップロードとダウンロード
0 件のコメント:
コメントを投稿