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
で、GOOGLE_CLOUD_PROJECT
環境値にプロジェクト ID を追加します。GCLOUD_STORAGE_BUCKET
環境値には作成済みの Cloud Storage バケットの名前を設定します。
package.json
内に、依存関係として @google-cloud/storage
を追加します。これで Cloud Storage を利用するための機能が提供されます。
ローカルでの実行とテストの手順については、README.md
ファイルをご覧ください。
アプリケーション コード
このサンプル アプリケーションはウェブページを表示し、Cloud Storage に保存するファイルを指定するようユーザーに促します。ユーザーがファイルを選択して [送信] をクリックすると、アップロード ハンドラがファイルの内容を blob に読み込み、Cloud Storage に書き込みます。
ファイルが Cloud Storage にアップロードされると、このファイルの公開 URL が返されます。この URL を使用して、Cloud Storage から直接ファイルを配信できます。今後も使用できるように、この値をアプリで保存してください。
詳細情報
Cloud Storage の詳細については、Cloud Storage のドキュメントをご覧ください。