ホームページ >バックエンド開発 >Python チュートリアル >FlaskからGCSエミュレータを動作させるためのローカル環境の作成

FlaskからGCSエミュレータを動作させるためのローカル環境の作成

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 07:38:35740ブラウズ

Creating a Local Environment to Operate GCS Emulator from Flask

Cloud Run 上の Flask 経由で GCS (Google Cloud Storage) を操作するアプリケーションを作成する際、ローカル環境で GCS エミュレータを使用したいと考えました。このドキュメントでは、そのような環境をセットアップする方法について説明します。

使用するエミュレータ

  • fsouza/fake-gcs-server

サンプルコード

以下のリポジトリにサンプルコードを作成しました。 README.md の指示に従うことで、ローカル環境で GCS エミュレータを使用してファイルをアップロード、ダウンロード、削除できます。

リポジトリをクローンして make up を実行するだけですべてを開始できるため、セットアップは簡単です。

  • フラスコ-gcs

docker-compose.yml の内容

Flask コンテナで GCS エミュレータを使用するには、STORAGE_EMULATOR_HOST 環境変数が設定されます。

services:
  app:
    environment:
      - STORAGE_EMULATOR_HOST=http://gcs:4443

Flask の StorageClient の構成

エミュレータを使用するかどうかを決定するために、STORAGE_EMULATOR_HOST 環境変数がチェックされます。

def get_storage_client():
    emulator_host = Config.STORAGE_EMULATOR_HOST

    if emulator_host:
        client = storage.Client(
            credentials=AnonymousCredentials(),
            project="test",
        )
    else:
        client = storage.Client()

    return client

結論

Flask を通じて GCS を操作するアプリケーションを Cloud Run 上に構築する場合、ローカル環境で GCS エミュレータを使用することができます。これらがセットアップ手順です。本番環境では GCS エミュレータを使用しないことに注意してください。そのため、STORAGE_EMULATOR_HOST 環境変数を設定せず、BUCKET_NAME を指定し、Cloud Run に適切な権限を付与してください。

以上がFlaskからGCSエミュレータを動作させるためのローカル環境の作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。