Python 2 は、コミュニティでサポートを終了しました。Python 2 アプリを Python 3 に移行することをおすすめします。

Google Cloud Storage の設定

Cloud Storage バケットを使用して、動画やイメージなどの静的コンテンツを保存し、提供できます。このドキュメントでは、Cloud Storage 用の App Engine クライアント ライブラリを使用するように環境を設定する方法について説明します。

プロジェクトの設定

ゲストブック アプリケーションの作成の説明に従って、環境の設定とクラウド プロジェクトの作成を実行して、App Engine での Python 2 アプリの構造を理解してください。アプリケーションで使用するプロジェクト ID を書き留めて保存します。

Cloud Storage バケットの有効化

Cloud Storage を使用するには、少なくとも 1 つのバケットを有効にする必要があります。 最初の 5 GB のストレージが無料で提供されるデフォルトのバケットを使用することをおすすめします。 必要に応じていつでも別の Cloud Storage バケットを使用できますが、デフォルトのバケットには最初の 5 GB のストレージが無料で含まれています。また、デフォルトのバケットには、Cloud Storage I/O 操作用の無料の割り当ても含まれています。詳しくは、料金、割り当て、制限をご覧ください。

アプリ用にデフォルトの Cloud Storage バケットを有効にするには:

  1. プロジェクトの App Engine の [設定] ページにある [デフォルトの Cloud Storage バケット] で [作成] をクリックします。 このバケットの名前は <project-id>.appspot.com の形式であることにご注意ください。

  2. 5 GB の制限よりも多くのストレージが必要な場合は、プロジェクトの課金を有効化して有料バケットに変更することで増量できます。ストレージが 5 GB の制限を超えると請求されます。

1 つ以上の有料バケットを有効にするには、バケットの作成の指示に従います。

バケットとオブジェクトの権限の設定

アプリのサービス アカウントや他のユーザーにストレージ バケットとそのコンテンツへのアクセスを許可する方法については、バケットの権限の設定オブジェクトの権限の設定をご覧ください。

クライアント ライブラリのダウンロード

Cloud Storage 用の App Engine クライアント ライブラリは、pipGit などの一般的なツールを使用してダウンロードできます。また GitHub からライブラリを手動でダウンロードすることもできます。必要に応じていずれかの方法を選択します。

Git

Git がインストールされている場合は、次のように Cloud Storage 用 App Engine クライアント ライブラリの GitHub リポジトリのクローンを作成できます。

git clone https://github.com/GoogleCloudPlatform/appengine-gcs-client.git

pip

setuptools がインストールされている場合は、次のように pip を使用して Cloud Storage 用 App Engine クライアント ライブラリをダウンロードしてインストールできます。

pip install GoogleAppEngineCloudStorageClient -t <your_app_directory/lib>

手動ダウンロード

GitHub から Cloud Storage 用 App Engine クライアント ライブラリを含む ZIP ファイルをダウンロードできます。

GitHub の Cloud Storage 用 App Engine クライアント ライブラリ

lib などのサードパーティ ライブラリに使用するディレクトリにライブラリをインストールします。詳細については、サードパーティ ライブラリの使用をご覧ください。

開発用アプリサーバーでクライアント ライブラリを使用する

クライアント ライブラリは開発用サーバーで使用できます。ただし、Cloud Storage のローカル エミュレーションは行われないため、ファイルの読み取りと書き込みのすべてのリクエストは、インターネット経由で実際の Cloud Storage バケットに送信する必要があります。

開発用アプリサーバーでクライアント ライブラリを使用するには:

  1. Cloud Storage バケットを有効にします

  2. フラグ --default_gcs_bucket_name [BUCKET_NAME] を指定して dev_appserver.py を実行します。[BUCKET_NAME] は使用する Cloud Storage バケットの名前で置き換えます。

    このフラグは、アプリケーションが file.DefaultBucketName(ctx) を呼び出したときに返されるバケットを制御します。

料金、割り当て、制限

App Engine クライアント ライブラリからの Cloud Storage の呼び出しは、帯域幅課金の対象となりません。ただし、オペレーション料金は適用されます。また、ライブラリは URL 取得サービスを使用して Cloud Storage とやり取りするため、呼び出しは URL の取得割り当てに対してカウントされます。

Google Cloud Storage は従量課金サービスであり、Cloud Storage の価格表に従って課金されることに注意してください。

Cloud Storage にアクセスする代替方法

クライアント ライブラリを使用する代わりに、以下を使用することもできます。

  • Google Cloud Console の Cloud Storage ブラウザ。オブジェクトをすばやくアップロードするのに使用します。
  • gsutil。Cloud Storage でファイルを操作するためのコマンドライン ツールです。

次のステップ