GCS(Google Cloud Storage)からPythonでデータを取り出し表示する

前の記事「Google Cloud StorageにPythonでデータのやり取りをする」」でウェブ上ではなくて、プログラム(python)経由でデータをGCS(Google Cloud Storageグーグルクラウドストレージ)へ入れる方法と取り出す方法をメモしたんだけど、取り出して表示する場合についての追加メモ。

GCS(Google Cloud Storage)内のデータを表示する方法は2つあるらしく、固有のBucket名と自分でデータを入れるときに付けたファイル名が繋がったものと、全く推測不可能な文字の羅列からなるURL。固有のBucket名が入る方は、ACLというアクセスをコントロールできる機能があるので、プログラムやGCS(Google Cloud Storage)のコントロールパネルから表示非表示やアクセスを特定の人に限定する等の制御ができるっぽい。もう一つの文字の羅列からなる方は、制御はできず、元のファイルを削除するまで誰でも見れて、ファイルも残るっぽい。どちらも別の専用URLからデータが送られるので、クッキーが無く(この意味もよくわかってないけど)実際に試してみると爆速で表示された。

GCS(Google Cloud Storage)内に入れたデータを表示する時、Bucket名を含む表示は、URLすべてわかっているので簡単。URLは、グーグルのURL + Bucket + 自分で付けたファイル名みたいな感じになる。こちらは、データを入れるときに、オプションでみんなに公開するか、後悔しないか等、いろいろ設定できる。GCSのコントロールパネルからも一般公開にチェックを入れると、公開用のURLが表示されたりする。

もうひとつの文字の羅列からなるURLで表示する場合は、create_gs_keyでキーをゲット(ファイル名は、”/gs”にBucket+データを入れるときに自分で付けたファイル名を繋げたもの)して、そのキーをget_serving_urlに入れると表示用のURLを作成してくれる。

ただ、元のデータの中身を同じファイル名で上書き更新しても、その作成されたURLで表示されるデータは更新以前のままでキャッシュされたものが表示されるっぽい、なので更新するには、別のファイル名にして再度URLを作りなおさないととダメっぽい。公開用のURLを消すには、GCS内のデータを消すか、delete_serving_urlでキーを入れると消える。

create_gs_keyはblobstoreの機能なんだけど、blobstoreが何なのかイマイチ理解していない。GCS(Google Cloud Storage)と似たようなものらしいけど、GCS(Google Cloud Storage)と違い、ウェブ上のコントロールパネルから中のデータを見たりはできないっぽい。そもそもGCS(Google Cloud Storage)を使うのに、どうしてblobstoreの機能を使うのかもよくわかっていない。

コメントを残す