Lorsque vous activez la versioning pour un bucket, Object Storage Service (OSS) conserve les objets écrasés ou supprimés en tant que versions précédentes. Si un bucket accumule un grand nombre de versions précédentes ou de marqueurs de suppression, vous pouvez utiliser une règle de cycle de vie pour les supprimer automatiquement. Cela réduit les coûts de stockage et améliore les performances lors de la liste des objets.
Prérequis
La versioning est activée pour le bucket cible. Pour plus d'informations, consultez la rubrique Activation de la versioning.
Cas d'utilisation
Prenons le scénario d'un bucket nommé examplebucket pour lequel la versioning est activée. Un utilisateur télécharge un objet nommé example.txt le 8 février. Par la suite, l'utilisateur écrase l'objet ou le supprime plusieurs fois sans spécifier d'ID de version. Pour chaque opération, Object Storage Service (OSS) génère un ID de version unique et enregistre l'objet en tant que version précédente. Les ID de version illustrés dans la figure ci-dessous sont simplifiés à des fins de démonstration et ne représentent pas des ID de version réels.
Après ces opérations, l'utilisateur souhaite :
Conserver uniquement les versions d'objet du 8 mai et du 10 septembre.
Restaurer la version précédente du 8 mai en tant que version actuelle.
Procédure
-
Conserver des versions d'objet spécifiques
Supposons que la date actuelle soit le 10 septembre. Pour conserver uniquement les versions d'objet du 8 mai et du 10 septembre, configurez une règle de cycle de vie avec les paramètres suivants.
Connectez-vous à la console OSS.
Dans le volet de navigation de gauche, cliquez sur Buckets. Sur la page Buckets, cliquez sur examplebucket.
Dans le volet de navigation de gauche, choisissez .
-
Cliquez sur Create Rule. Configurez la règle de cycle de vie avec les paramètres indiqués dans le tableau suivant, et laissez les autres paramètres avec leurs valeurs par défaut.
Section
Parameter
Description
Basic Settings
Status
Sélectionnez Enabled.
Applied To
Sélectionnez Whole Bucket.
Policy for Current Versions
Object Lifecycle
Sélectionnez Removal of Delete Marker.
Policy for Previous Versions
Object Lifecycle
Sélectionnez Validity Period (Days).
Lifecycle-based Rules
Définissez Modified Time sur 90 jours. Un objet expire 90 jours après être devenu une version précédente et est supprimé le jour suivant.
RemarqueDans cet exemple, l'objet téléchargé le 8 mai devient une version précédente le 10 septembre. Comme il est une version précédente depuis moins de 90 jours, il est conservé et non supprimé.
Policy for Parts
Part Lifecycle
Sélectionnez Validity Period (Days).
Rules for Parts
Définissez la valeur sur 90. Les parties issues des tâches de téléchargement multipartie incomplètes expirent 90 jours après leur création et sont supprimées le jour suivant.
Cliquez sur OK.
-
Restaurer une version d'objet spécifique
Pour restaurer la version précédente du 8 mai en tant que version actuelle, effectuez les opérations suivantes :
Sur la page de gestion de examplebucket, choisissez Object Management > Objects.
Cliquez sur Show à côté de Previous Versions.
Recherchez la version de l'objet example.txt modifiée pour la dernière fois le 8 mai.
Dans la colonne Actions de la version précédente cible, cliquez sur Restore.
Remarques d'utilisation
Lorsque vous utilisez des règles de cycle de vie pour gérer les versions d'objets, tenez compte des points suivants :
-
Expiration des versions actuelles
Pour un bucket avec la versioning activée, si une règle de cycle de vie entraîne l'expiration de la version actuelle d'un objet, OSS ne supprime pas l'objet. Il ajoute un marqueur de suppression en tant que nouvelle version actuelle, et la version actuelle expirée devient une version précédente.
Dans un bucket où la versioning est suspendue, si une règle de cycle de vie entraîne l'expiration de la version actuelle d'un objet, OSS ajoute un marqueur de suppression avec un ID de version nul en tant que nouvelle version actuelle. Comme un objet ne peut avoir qu'une seule version avec un ID de version nul, ce nouveau marqueur de suppression écrase toute version existante ayant un ID de version nul.
-
Expiration des versions précédentes
Dans un bucket où la versioning est activée ou suspendue, lorsqu'une règle de cycle de vie entraîne l'expiration d'une version précédente d'un objet, OSS supprime définitivement cette version. Vous ne pouvez pas restaurer les versions précédentes supprimées définitivement.
Pour plus d'informations, consultez la rubrique Règles de cycle de vie basées sur la dernière heure de modification.
Ressources connexes
Vous pouvez également restaurer des objets à l'aide d'opérations API. Pour restaurer une version précédente d'un objet en tant que version actuelle, copiez la version précédente dans le même bucket. La copie devient la nouvelle version actuelle. Pour plus d'informations, consultez la rubrique CopyObject.