Buckets, objets et LCA
Un bucket est l'emplacement de stockage à partir duquel vous lisez des fichiers et sur lequel vous en écrivez. Vous devez toujours spécifier un bucket lorsque vous utilisez la bibliothèque cliente App Engine pour Cloud Storage. Votre projet peut accéder à plusieurs buckets. Notez que la bibliothèque cliente n'accepte pas la création de buckets.
Les listes de contrôle d'accès (LCA) contrôlent l'accès aux buckets et aux objets qu'ils contiennent. Votre projet et votre application App Engine sont automatiquement ajoutés à la LCA qui permet l'accès au bucket lorsque vous créez ce dernier dans le projet.
Sachez que la LCA autorisant l'accès au bucket est différente des LCA, potentiellement nombreuses, régissant les objets qu'il contient. Ainsi, votre application dispose de privilèges de lecture et d'écriture sur les buckets pour lesquels elle est activée, mais elle ne possède des droits complets que sur les objets qu'elle crée dans le bucket. L'accès de l'application aux objets créés par d'autres applications ou personnes est limité aux droits accordés à votre application par le créateur de ces objets.
Si un objet est créé dans le bucket sans LCA explicitement définie, il utilise la LCA d'objet par défaut attribuée au bucket par son propriétaire. Si le propriétaire du bucket n'a pas spécifié de LCA d'objet par défaut, la valeur par défaut de l'objet est public-read
, ce qui signifie que toute personne autorisée à accéder au bucket peut lire l'objet.
LCA et bibliothèque cliente
Une application utilisant la bibliothèque cliente ne peut pas modifier la LCA du bucket, mais elle peut spécifier une LCA qui contrôle l'accès aux objets qu'elle crée. Les paramètres de LCA disponibles sont décrits dans la documentation de la méthode open.Modifier des objets Cloud Storage
Une fois que vous avez créé un objet dans un bucket, vous ne pouvez ni le modifier ni le compléter. À la place, vous devez écraser l'objet avec un nouvel objet du même nom comportant les modifications souhaitées.
Cloud Storage et sous-répertoires
La bibliothèque cliente App Engine pour Cloud Storage permet de fournir des délimiteurs de sous-répertoires lorsque vous créez un objet, mais il n'existe pas de véritables sous-répertoires dans Cloud Storage. Au lieu de cela, un sous-répertoire dans Cloud Storage fait partie du nom de fichier de l'objet.
Par exemple, vous pouvez supposer que la création d'un objet somewhere/over/the/rainbow.mp3
stocke le fichier rainbow.mp3
dans le sous-répertoire somewhere/over/the/
. En réalité, le nom de l'objet est défini sur somewhere/over/the/rainbow.mp3
.
Il est important de comprendre ce concept lors de l’utilisation du filtrage listbucket
.
Si le comportement de liste ci-dessus ne vous convient pas, listbucket
dispose d'un mode d'émulation de répertoire facultatif. Pour en savoir plus, consultez la section consacrée à listbucket.
Étape suivante
- Consultez la documentation de référence sur l'API.
- Apprenez à configurer Cloud Storage.