Utiliser Cloud Storage

Si votre application PHP 7 doit lire et écrire des fichiers pendant l'exécution ou diffuser des fichiers tels que des films, des images ou d'autres contenus statiques, nous vous recommandons d'utiliser un bucket Cloud Storage.

App Engine crée un bucket par défaut lorsque vous créez une application. Ce bucket fournit gratuitement les cinq premiers Go de stockage et inclut un quota gratuit d'opérations d'E/S Cloud Storage. Vous pouvez créer d'autres buckets Cloud Storage, mais seul le bucket par défaut inclut gratuitement les cinq premiers Go de stockage.

Utiliser Cloud Storage avec App Engine

Pour utiliser un bucket Cloud Storage à partir d'une application App Engine, procédez comme suit :

  1. Affichez les noms des buckets existants dans votre projet App Engine. Vous devrez spécifier ces noms lorsque vous importerez ou téléchargerez des données à partir de Cloud Storage.

    Nous vous recommandons de stocker les noms de vos buckets Cloud Storage dans les variables d'environnement de l'application plutôt que de les coder en dur dans celle-ci.

  2. Dans votre application, déclarez Cloud Storage en tant que dépendance en ajoutant google/cloud-storage au fichier composer.json de votre application et en exécutant composer install à partir du répertoire de votre application. En savoir plus sur la spécification de dépendances

  3. Enregistrez Google\Cloud\Storage\StorageClient en tant que wrapper de flux pour votre application. Utilisez ensuite le protocole gs pour lire et écrire des fichiers.

    Consultez un exemple d'enregistrement et d'utilisation du wrapper de flux.

    Vous pouvez également utiliser directement la bibliothèque cliente Google Cloud.

Utiliser le bucket par défaut

Lorsque vous créez une application, App Engine crée un bucket par défaut qui fournit gratuitement les cinq premiers Go de stockage. Le bucket par défaut inclut également un quota gratuit pour les opérations d'E/S Cloud Storage. Pour en savoir plus, consultez la section Tarifs, quotas et limites. L'espace de stockage au-delà de la limite des cinq Go vous sera facturé.

Le nom du bucket par défaut est au format suivant :

project-id.appspot.com

App Engine crée également un bucket servant de stockage temporaire lorsqu'il déploie de nouvelles versions de votre application. Ce bucket, nommé staging.project-id.appspot.com, n'est utilisé que par App Engine. Les applications ne peuvent pas interagir avec lui.

Définir des autorisations relatives au bucket et aux objets

Le compte de service par défaut associé à votre application dispose de toutes les autorisations requises pour lire et écrire des données dans les buckets de votre projet.

Pour gérer ces autorisations, chaque application App Engine utilise un compte de service par défaut qui offre un accès complet en lecture et en écriture aux buckets Cloud Storage se trouvant dans le même projet que l'application. Vous pouvez modifier les autorisations du compte de service par défaut, mais votre application risque de perdre l'accès si vous n'attribuez pas le rôle IAM ayant les autorisations requises.

Pour découvrir comment autoriser d'autres utilisateurs, applications ou projets à accéder à un bucket et à son contenu, consultez les sections Définir des autorisations sur un bucket et Définir des autorisations sur un objet.

Utiliser Cloud Storage avec le serveur de développement local

Le serveur de développement local App Engine n'émule pas Cloud Storage. Par conséquent, toutes les requêtes Cloud Storage doivent être envoyées via Internet à un bucket Cloud Storage réel.

Tarifs, quotas et limites

Aucuns frais d'utilisation de la bande passante ne sont associés aux appels de la bibliothèque cliente Cloud Storage à Cloud Storage. Cependant, des frais d'exploitation s'appliquent. En outre, les appels sont comptabilisés dans votre quota de récupération d'URL, car la bibliothèque interagit avec Cloud Storage à l'aide du service de récupération d'URL.

Sachez que Cloud Storage est un service payant qui vous sera facturé selon la grille tarifaire de Cloud Storage.