Google Cloud Storage JSON API Client for JavaScript を試す
GCSにjavascriptを用いてアクセスできるライブラリを試した。
サンプルコード
https://github.com/GoogleCloudPlatform/storage-getting-started-javascript
参考ページ
http://qiita.com/noazoh/items/f893e5197f8ef56876a9
注意事項は参考ページに書いてある通り。
まず、"Authorize" ボタンを押して、認証を行う。
認証はOAuth2で行われ、Googleアカウントが必要。
ブラウザ上でまだGoogleアカウントにログイン中でなければ、次のようなログイン画面が出てくる。
ログインすると、次の画面が出る。
これは、GAEのプロジェクトの管理コンソールの"APIと認証"配下にある"同意画面"で設定したものである。この例で出ている「strage-test」というのは、同意画面に設定した"サービス名"である。
認証ボタン押すと、制御が元のページに戻され、"Authorize"ボタンが消える。
ためしに、プルダウンから、"list Buckets"を選択してみると、数秒待たされた後、こんな感じで結果が出てくる。
未認証の状態で、プルダウンを選択しても、何も表示されない。(エラーにもならないのでちょっとわかりづらい)
では、認証ボタンによって何が行われるか見てみる。
認証したGoogleアカウントの、マイアカウントページを開く。
https://myaccount.google.com/
ページの下の方に「接続されたアプリとサービス」という欄があるので、そこの「アカウント権限」をクリックする。
すると、このようになっている。
「アクセス権を取り消す」ボタンをクリックすると、未認証の状態に戻るので、サンプル画面をリロードすると、再び Autorizeボタンが出現するようになる。
Google Cloud Storegeのローカル開発サーバ
問い:GAEのローカル開発サーバは、devserver.py ですが、GCSのローカル開発サーバに相当するものはあるのか?
こたえ:ある(SDK 1.8.1以上であれば)
使い方
通常のローカル実行時と同様、ローカル開発サーバを起動。GAELauncherから実行するとか。
起動したら、ブラウザから
http://localhost:ポート番号/_ah/gcs/バケット名/
を開く。これがGCSのローカル開発サーバ。
ポート番号はAdmin PortじゃなくてアプリケーションのほうのPort。
バケット名は、デフォルトバケットの場合は次のPythonコードで取得できる。
from google.appengine.api import app_identity bucket_name = app_identity.get_default_gcs_bucket_name()
レスポンスはXMLなので見栄えはこんな感じになる。
ちなみに、これは、ファイルが1件も登録されてない状態。ファイルが登録できたらキャプチャ貼ります。
PySideインストール on Windows
PySideのインストール手順
1.Pythonのインストール(割愛)
今回はPython2.7を入れてある環境でやってる。
2.pipのインストール
このファイルをダウンロードする。
コマンドラインから、pythonインタープリタでダウンロードしたpyを実行する。
python get-pip.py
pipは、Pythonインストールディレクトリ配下のScriptsフォルダに配置される。今後のために、この場所を環境変数PATHに追加しておく。
3.pip経由でPySideをインストール
コマンドラインから次を実行
pip install -U PySide
import PySide
とやってエラーにならなければOK。
4.パッチ当てる
http://textmagic.dip.jp/trac/pyside/wiki/WikiStart/intro03
のページの、「7.パッチを当てる。(PySide1.2.xxの場合、py2exeで作成した実行形式が起動時にエラーで落ちるので、それを回避する。」にあるようにやる。
(実際エラーで落ちるのかどうか試してはいない)
-
-
- -
-
IDEのインストール
ここまでの手順で、QtDesignerとQtLinguistはインストールされるが英語版だった。
場所はここ
C:\Python27\Lib\site-packages\PySide\designer.exe C:\Python27\Lib\site-packages\PySide\linguist.exe
これでもいいんだけど、QtCreatorを入れて日本語化することにした。
http://www.qt.io/download-open-source/#section-6
ここからインストーラをダウンロードして実行。日本語化されたものがインストールされる。
ここで、自分の環境が仮想デスクトップだからだと思うが、ディスプレイドライバがOpenGLに対応していない旨のエラーメッセージが出る。全体的に挙動不審なので使用を断念。制約の少ない環境で別途試す時が来たら試してみようと思う。
QtDesignerに戻る。これを単体で日本語化する方法がわからず。いつも、こういう事に長時間時間を食ってしまうタチなので、今はあきらめることにする。
結局、PyQt4に同梱されているQtDesignerが日本語化されていたので、PyQt4も入れて、そちらでインストールされたexeを使っている。
gcloudにおけるアカウント管理
gcloud auth login
アカウント認証を行うのと同時に、そのアカウントがアクティブアカウントに設定される。ターミナル内でそのアカウントでログインしている的な状態となり、以降のgcloudやgsutilコマンドでの操作がそのアカウントによる操作となる。
新たに別のGoogleアカウントで gcloud auth login をやると、新しいアカウントがアクティブとなる。
元のアカウントをアクティブに戻したい時は、
gcloud config set account アカウント名
とすると切り替わる。
現在、どのアカウントがアクティブかを見たい時は、
gcloud auth list
とやると、認証済みのすべてのアカウントがリストされ、アクティブなアカウントには active という印がついて表示される。
gcloud auth revoke アカウント名
とすると、そのアカウントの認証情報が削除されるため、再びそのアカウントを使いたくなったら、再度 gcloud auth login を行う必要がある。
ログアウトに相当するコマンドは無い。revokeをやらない限り、必ず誰かしらアクティブなアカウントが存在する状態となる。
Google Cloud Storageのデフォルトバケットを作る
Google App Engineのプロジェクト毎に、Google Cloud Storageのデフォルトバケットを作成することができる。
やり方:
AppEngine管理コンソールより
Application Settings -> Cloud Integration -> createボタンをクリック
Google Developers Console(以後、開発コンソール)のほうには、作成する機能が無い。
作成されると、開発コンソールの
計算処理 -> AppEngine -> 設定 -> アプリケーションの設定タブ
に、「1日の予算」という項目が現れる。なお、5Gまでは無料で使えるとのこと。
また、開発コンソールの
ストレージ -> クラウドストレージ -> ストレージブラウザ
のバケットの一覧に、「プロジェクトID.appspot.com」という名前のバケットが現れる。
管理コンソールと、開発コンソールはだんたんと統合が進んでいるようだが(開発コンソールが後発)、まだ統合は完了しておらず、管理コンソールにしか存在しない機能がちょくちょくあるので注意が必要。