Cloud Storage は、ファイル(動画、画像、その他の静的コンテンツなど)を保存または提供する目的で使用できます。
このドキュメントでは、アプリで Google Cloud クライアント ライブラリを使用して、Cloud Storage にデータを格納したり、Cloud Storage からデータを取得したりする方法を説明します。
始める前に
App Engine の Go 用「Hello, World!」の説明に従って環境とプロジェクトを設定し、App Engine での Go アプリの構造を理解してください。このドキュメントで説明しているサンプルアプリを実行する際に必要となるため、プロジェクト ID をメモして保存しておきます。
次のコマンドを呼び出して、アプリケーション用の Cloud Storage バケットを作成します。
gsutil mb gs://[YOUR_BUCKET_NAME]
バケットを一般公開(読み取り可能)にして、ファイルを提供できるようにします。
gsutil defacl set public-read gs://[YOUR_BUCKET_NAME]
サンプルのダウンロード
リポジトリのクローンを作成するには、次のコマンドを実行します。
go get -d -v github.com/GoogleCloudPlatform/golang-samples/storage
cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/appengine_flexible/storage
プロジェクト構成の編集と依存関係のインストール
app.yaml
で GCLOUD_STORAGE_BUCKET
を設定します。この値は、以前に作成した Cloud Storage バケットの名前です。
アプリケーション コード
このサンプル アプリケーションは、Cloud Storage に保存するファイルを指定するように促すウェブページを表示します。ユーザーがファイルを選択して [送信] をクリックすると、アップロード ハンドラが Cloud Storage の NewWriter 関数を使用して、ファイルを Cloud Storage バケットに書き込みます。
このファイルを Cloud Storage から取得するには、バケット名とファイル名を指定する必要があるので注意してください。将来の使用に備えて、これらの値をアプリに保存する必要があります。
詳細情報
Cloud Storage の詳細については、Cloud Storage のドキュメントをご覧ください。