Gestion des versions des objets et contrôle de simultanéité

Présentation

Les buckets pour lesquels la gestion des versions est activée gèrent les versions d'objets obsolètes. Ils vous permettent d'annuler la suppression des données que vous avez accidentellement supprimées ou de récupérer d'anciennes versions de vos données. Les commandes gsutil ignorent les objets obsolètes, sauf indication contraire de votre part, en définissant une option pertinente ou en indiquant un numéro de génération spécifique dans votre commande. Par exemple, les caractères génériques tels que * et ** n'agissent pas sur des versions d'objets obsolètes.

Lorsque vous utilisez la commande "gsutil cp", vous ne pouvez pas spécifier une URL propre à une version comme destination, car les opérations d'écriture dans Cloud Storage créent toujours une nouvelle version. Si vous tentez de spécifier une URL propre à une version comme destination de gsutil cp, cela génère une erreur. Lorsque vous spécifiez un objet obsolète en tant que source dans une commande de copie, vous créez toujours une nouvelle version d'objet et conservez la version d'origine (même lorsque vous utilisez la commande pour restaurer une version active). Vous pouvez utiliser la commande gsutil mv pour restaurer simultanément une version d'objet et supprimer la copie obsolète utilisée comme source.

Vous pouvez activer ou désactiver à tout moment la gestion des versions pour un bucket. Si vous désactivez la gestion des versions, les versions existantes de l'objet sont conservées et entraînent simplement la suppression de la version active existante de l'objet chaque fois qu'une nouvelle version est importée.

Que vous ayez activé ou non la gestion des versions sur un bucket, chaque objet est associé à deux champs d'entiers positifs :

  • La génération, qui est mise à jour lorsqu'un nouvel objet remplace un objet existant portant le même nom. Notez que rien ne garantit que les numéros de génération augmentent pour les versions successives, mais uniquement que chaque nouvelle version possède un numéro de génération unique.
  • La métagénération, qui identifie la génération de métadonnées. Sa valeur est initialement égale à 1 et augmente à chaque fois que les métadonnées (par exemple, LCA ou Content-Type) d'une génération de contenu donnée sont mises à jour. Cette propriété est réinitialisée lors de la modification du numéro de génération.

Parmi ces deux entiers, seule la génération est utilisée lorsque vous exploitez des données avec des versions gérées. La génération et la métagénération peuvent être utilisées avec un contrôle de simultanéité.

Pour en savoir plus sur la gestion des versions et la simultanéité, consultez la documentation suivante :