Maison >développement back-end >Tutoriel Python >Création d'un environnement local pour faire fonctionner l'émulateur GCS à partir de Flask

Création d'un environnement local pour faire fonctionner l'émulateur GCS à partir de Flask

Patricia Arquette
Patricia Arquetteoriginal
2025-01-04 07:38:35737parcourir

Creating a Local Environment to Operate GCS Emulator from Flask

Lors de la création d'une application qui manipule GCS (Google Cloud Storage) via Flask sur Cloud Run, je souhaitais utiliser un émulateur GCS dans l'environnement local. Ce document décrit comment mettre en place un tel environnement.

Émulateur à utiliser

  • fsouza/fake-gcs-server

Exemple de code

J'ai créé un exemple de code dans le référentiel suivant. En suivant les instructions du README.md, vous pouvez utiliser l'émulateur GCS dans un environnement local pour télécharger, télécharger et supprimer des fichiers.

Puisque vous pouvez tout démarrer simplement en clonant le référentiel et en exécutant Make Up, la configuration est simple.

  • flacon-gcs

Contenu de docker-compose.yml

Pour utiliser l'émulateur GCS dans le conteneur Flask, la variable d'environnement STORAGE_EMULATOR_HOST est définie :

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

Configuration du StorageClient de Flask

La variable d'environnement STORAGE_EMULATOR_HOST est vérifiée pour déterminer s'il faut utiliser l'émulateur :

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

Conclusion

Lors de la création d'une application sur Cloud Run qui manipule GCS via Flask, vous souhaiterez peut-être utiliser un émulateur GCS dans votre environnement local. Ce sont les étapes de configuration. Notez qu'en production, vous n'utiliserez pas l'émulateur GCS, alors ne définissez simplement pas la variable d'environnement STORAGE_EMULATOR_HOST, spécifiez votre BUCKET_NAME et accordez les autorisations appropriées à Cloud Run.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn