Google Cloud StorageにPythonでデータのやり取りをする

何をしたいかというと、GCS(Google Cloud Storage)にプログラムでデータを放り込んだり取り出したりしたい。

最初は、Blobstoreという物を使おうと思い調べていたけど、グーグルのマニュアルに、プログラムでBlobstoreへ書き込む機能はもうじきなくなるので、GCS(Google Cloud Storage)の方をおすすめする、みたいなことが書いてあったので、GCSの方を使うことにした。

使うのはpythonで、GCS(Google Cloud Storage)とやりとりするためには、Google Cloud Storage Python Client Libraryというのを使う必要があるらしく、まずはこのファイルをダウンロードしてインストール。インストールと言っても、、そのライブラリーのcloudstorageというフォルダがあれば、それをアプリと同じフォルダ(最初階層を間違えてエラーが出た)に置くだけで使えるようになった。

あとは、

import cloudstorage as gcs

でライブラリーを読み込んで、

g_file = gcs.open(filename,’w’,content_type=”,retry_params=write_retry_params)
g_file.write(testfile)
g_file.close()

とするだけでOKだった、予想以上に簡単。
filenameは固有のbucketの後は自分で好きに決めれてサブディレクトリみたいに、表面上は/a/b/c/catと整理しやすくできるみたい。
testfileに書き込む内容を入れる。
‘w’は書き込みモードで読み込むときはrにする。content_typeは自由に決めれることができるので書き込むファイルに合わせる。retry_paramsは良くわからないけど、書き込みに失敗した時に、どういう対応をするのか決めるっぽい。

次に、writeで書き込んで、closeで終わり。

書き込んだファイルを読み込む場合は、固有のbucketの後に、自分で決めたファイル名をつなげたURLにアクセスすると表示できる。
ブラウザで操作できるディベロッパーコンソールから書き込んだファイルの確認や削除、一般公開のON,OFFの設定や公開するときのURLの確認等もできた。


広告

コメントを残す