Que ce soit pour la conception d’une application, d’un logiciel, d’un site internet ou tout autre projet web, vous devez stocker de nombreuses données. Et pour optimiser vos performances, il est primordial de bien les organiser. Pour cela, plusieurs outils sont à votre disposition, notamment Bucket GCP. Alors de quoi s’agit-il ? Comment l’utiliser ? Nous répondons à toutes vos questions.
C’est quoi bucket GCP ?
Le bucket est un conteneur dans lequel sont stockés des objets au sein de Google Cloud Storage.
Les buckets dans Google Cloud
Pour mieux comprendre les buckets GCP, il faut comprendre comment ils s’articulent au sein d’une organisation :
- Google Cloud Storage : l’organisation choisit GCS pour stocker l’ensemble de ses données.
- Projet : si l’organisation crée des applications, un site web, … elle peut les classer par projet afin de faciliter le traitement des données.
- Bucket : au sein d’un projet, il est possible d’implémenter plusieurs buckets. Par exemple, un bucket pour les fichiers photos, un autre pour les fichiers vidéos, un autre pour les fichiers tableaux, …
- Objet : à l’intérieur de ces buckets, plusieurs objets (ou données individuelles) sont regroupés. Par exemple, dans le fichier “photo”, un objet représente une photo spécifique.
Chacun de ces éléments constitue une ressource au sein de Google Cloud, au même titre que les instances de machine virtuelle Compute Engine.
Les objets dans Google cloud storage
Avant d’aller plus loin, il convient de revenir sur la définition d’un objet. Il s’agit d’un fichier, sous n’importe quel format (.png, .jpeg…), constitué :
- d’une donnée individuelle : celle-ci est immuable. C’est-à-dire qu’elle ne peut être modifiée pendant toute la durée du stockage.
- d’une métadonnée : elle décrit les principales caractéristiques de la donnée.
Comment utiliser les buckets sur Google Cloud Platform ?
Le choix du bon outil
Pour interagir avec les buckets GCP, vous pouvez utiliser différents outils :
- Console : il s’agit de la Google Cloud Console. Celle-ci vous permet de créer un bucket, d’importer ou de télécharger des objets, … depuis une interface visuelle.
- Google Cloud CLI : dans ce cas, vous utilisez des lignes de commande via un terminal pour interagir avec vos buckets.
- Bibliothèque : vous pouvez aussi utiliser différents langages de programmation (C++, C#, Go, Java, Node.js, PHP, Python et Ruby) pour gérer vos données.
- API REST : ce sont les API JSON ou XML qu’il convient d’utiliser pour effectuer différentes opérations au sein du Google Cloud Storage.
- Terraform : il s’agit d’un outil déclaratif qui vous permet de gérer l’intégralité de votre infrastructure Cloud.
La création des buckets
Par défaut, les buckets sont créés dans l’emplacement multirégional US avec la classe de stockage standard. Mais il est toujours possible de modifier ces éléments au moment de la création. En revanche, vous ne pourrez plus le faire après la création, puisque la classe de stockage et l’emplacement sont des métadonnées non modifiables.
Pour créer un bucket sur GCP, vous pourrez utiliser les outils susmentionnés (console, ligne de commande, bibliothèque, API REST, Terraform). Chacun de ces outils vous permettant d’interagir avec Google Cloud Storage de manière différente, il est préférable de suivre une formation complète pour bien les maîtriser.
L’importation d’objets
L’importation d’objets vous permet de constituer les éléments de votre bucket GCP. Il est possible de réaliser cette opération de plusieurs manières :
- Importation par requête unique : cela convient surtout pour les objets de petite taille.
- Importation à partir de la mémoire : au lieu d’importer depuis un système de fichier, vous le faites depuis la mémoire.
- Importation avec reprise : à l’inverse de la requête unique, ce mode d’importation est à privilégier si vous avez des objets volumineux. Et pour cause, c’est l’une des méthodes de transfert les plus fiables.
- Importation en plusieurs parties : pour cela, vous devez utiliser l’API XML. Ici, les objets sont importés en plusieurs parties. Mais une fois dans le bucket, ils sont assemblés au sein d’une seule et même requête.
- Importation composite parallèle : le fichier est alors fragmenté.
- Importation en streaming : vous pouvez importer les données, sans les enregistrer au préalable dans un fichier.
Au-delà de l’importation, vous pouvez aussi télécharger les objets selon différentes modalités (de manière standard, en flux continu ou en plusieurs parties).
La modification d’objet
Comme vu précédemment, les objets stockés au sein d’un bucket GCP sont constitués de données immuables. Autrement dit, des données qui ne peuvent être modifiées entre leur importation et leur suppression. Vous ne pouvez donc réaliser aucune modification sur l’objet, telle qu’une opération d’ajout ou de troncation. Cependant, il est toujours possible de remplacer les objets existants dès lors que la donnée nécessite une révision. Pour cela, une nouvelle version de l’objet doit être importée dans le bucket et l’ancienne doit être supprimée.
Dans ce cadre, le numéro de génération de l’objet change. C’est ce qui permet d’identifier l’objet comme étant unique.
Bon à savoir : vous ne pouvez remplacer un même objet plus d’une fois par seconde. Cela entraîne des erreurs « 429 too many requests ».
La suppression d’un bucket
Si vous choisissez de supprimer un bucket, vous supprimez également tous les objets qui y sont associés. Il convient donc de réaliser cette opération avec la plus grande attention.
À ce titre, nous vous conseillons de définir des options relatives au cycle de vie des données en amont. Cela vous permettra d’éviter les éventuelles erreurs de manipulation. À travers ces options, vous pourrez spécifier la durée de conservation d’un bucket, définir une préservation à titre conservatoire sur certaines données individuelles ou gérer les versions d’objets.
Au-delà de ces différentes actions, il est également possible de répertorier tous les buckets GCP d’un projet, d’obtenir des informations sur les métadonnées, de déplacer ou renommer un bucket… Vous souhaitez savoir comment faire ? Rejoignez nos formations chez Datascientest.
Ce qu’il faut retenir
- Les buckets GPC sont des conteneurs vous permettant de stocker des objets sur Google Cloud Platform.
- Ces outils de stockage vous permettent d’organiser des données relatives à un projet. Ainsi, chaque projet contient plusieurs buckets, et chaque bucket contient plusieurs données.
- Pour gérer les buckets GPC, il est possible d’utiliser plusieurs outils, tels que la Console de Google Cloud, les lignes de commande, les API, les langages de programmation ou Terraform.