このドキュメントでは、Cloud Storage クライアント ライブラリを使用してデータを保存、取得する方法を説明します。Cloud Storage の設定で説明されているように、Cloud Storage バケットを有効にし、クライアント ライブラリをダウンロードしておく必要があります。また、App Engine アプリケーションのビルド方法も理解している必要があります。
その他のコードサンプルについては、Cloud Storage クライアント ライブラリをご覧ください。
必要なインポート
App Engine と Cloud Storage に必要なファイルのインポートは次のとおりです。
google.golang.org/appengine
google.golang.org/appengine/file
cloud.google.com/go/storage
次のスニペットに例を示します。
Cloud Storage バケットを指定する
Cloud Storage のオペレーションを行うには、バケット名を指定する必要があります。これを行う最も簡単な方法は、プロジェクトのデフォルトのバケットを使用することです。これは次のスニペットに示すように、App Engine のコンテキストから取得できます。
Cloud Storage に書き込む
Cloud Storage にファイルを書き込むには:
ファイルが作成されると、このサンプルでは Cloud Storage ヘッダー(x-goog-meta-foo
および x-goog-meta-bar
)が指定されます。このオプションのコードでは、Cloud Storage ヘッダーを使用するという考え方が導入されており、次のような目的のために適用できます。
- リクエストの動作に影響を与える。
- デフォルトとは別のバケットにあるファイルへのアクセスを指定する(x-goog-acl を参照)
- ファイルのメタデータを書き込む。
上記の x-goog-meta-*
ヘッダーは、設定可能なカスタム ファイルのメタデータであり、常にファイルとともに返されます。カスタム ヘッダーとそのデータに使用できるスペースは数キロバイトに制限されているため、注意して使用してください。
コードサンプルでは x-goog-acl
は設定されていないため、バケットへの書き込み時には、デフォルト Cloud Storage ACL の public read がオブジェクトに適用されます。
最後に、書き込みが完了した後にファイルを閉じる Close()
が呼び出されます。これを行わないと、ファイルは Cloud Storage に書き込まれません。Close()
を呼び出した後は、ファイルに内容を追加できないことに注意してください。
Cloud Storage から読み取る
Cloud Storage からファイルを読み取る手順は次のとおりです。バケットの内容を一覧表示する
このサンプルコードは、バケットの内容を一覧表示する方法を示しています。
Cloud Storage のファイルを削除する
以下のコードは、ObjectHandle.delete()
メソッドを使用して Cloud Storage からファイルを削除する方法を示しています。
この例では、Cloud Storage に書き込むセクションでバケットに書き込んだファイルをクリーンアップしています。
次のステップ
- API リファレンス ドキュメントを参照する。
- その他のガイドとチュートリアルについて、Cloud Storage のドキュメントで確認する。