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