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