Restauration d'un objet supprimé
Récupérez un objet supprimé vers un bucket Object Storage.
Lorsque la gestion des versions est activée, la suppression d'un objet sans cibler de version spécifique entraîne la création d'un marqueur de suppression, et vous pouvez récupérer la version précédente de l'objet. Un objet supprimé apparaît uniquement dans la liste Objets lorsque la fonctionnalité Afficher l'objet supprimé est sélectionnée. Les objets supprimés répertoriés sont associés à (Objet supprimé) en regard du nom de l'entrée d'objet. Développez la liste des versions de l'objet supprimé et recherchez la version en regard de (Supprimer le marqueur). Restaurez une version d'objet supprimée en enlevant ce marqueur de suppression. Si une version précédente existe, elle devient l'objet actif.
La gestion des versions doit être activée pour un bucket Object Storage au moment du téléchargement de l'objet. Les objets supprimés d'un bucket dont la gestion des versions est désactivée ou suspendue ne peuvent pas être récupérés.
La version d'objet répertoriée après celle dont vous avez supprimé le marqueur de suppression devient l'objet restauré.
Pour restaurer un objet supprimé dans un bucket à l'aide de l'interface de ligne de commande, vous devez d'abord savoir quel objet est marqué pour suppression. Pour obtenir ces informations, répertoriez les objets du bucket. Reportez-vous à Liste des versions d'objet dans un bucket et sélectionnez l'onglet CLI pour exécuter la commande appropriée.
Dans la sortie, recherchez la version d'objet contenant
"is-delete-marker": true
.Utilisez la commande oci os object delete et les paramètres requis pour restaurer un objet supprimé dans un bucket. Incluez le paramètre
version-id
et sa valeur pour cet objet.Lorsque vous exécutez cette commande, vous êtes invité à confirmer la suppression :oci os object delete --bucket-name bucket_name --object-name object_name --version-id version_id [OPTIONS]
Are you sure you want to delete this resource? [y/N]:
Réponse avec
y
.Par exemple :
oci os object delete --bucket-name MyBucket --name MyFile.txt --version-id 2a0021a1-2a2f-41a0-a199-454003f84aa0 Are you sure you want to delete this resource? [y/N]: y
Le marqueur de suppression de l'objet est supprimé sans autre information renvoyée. L'objet est restauré dans son bucket. Vous pouvez répertorier l'objet pour vérifier qu'il a été restauré après la suppression du marqueur de suppression.
Restauration d'objet supprimé en masse
Pour restaurer plusieurs objets dans un bucket en même temps, utilisez les filtres d'interface de ligne de commande OCI disponibles afin d'interroger l'indicateur
"is-delete-marker": true
. Pour plus d'informations, reportez-vous à la section "Utilisation des requêtes" sous Gestion de l'entrée et de la sortie de la CLI.Par exemple, pour restaurer un groupe d'objets supprimés, exécutez la commande suivante pour obtenir la liste des objets avec le marqueur de suppression et l'ID de version de chaque objet supprimé :
oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[]
Transmettez ensuite la sortie à une autre commande ou écrivez un script wrapper pour restaurer les objets supprimés dans le bucket. Par exemple, pour restaurer tous les objets d'un bucket avec le marqueur de suppression sur un hôte Linux, exécutez la commande suivante :
oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[] | join(" ")'| xargs -n 2 sh -c 'oci os object delete --namespace MyNamespace --bucket-name MyBucket --object-name "$1" --version-id "$2"' argv0
Vous pouvez utiliser le paramètre
--force
pour éviter le mode interactif. Cependant, utilisez cette option avec prudence pour éviter de manquer toute information importante.Pour obtenir la liste complète des paramètres et des valeurs des commandes d'interface de ligne de commande, reportez-vous à Référence de commande d'interface de ligne de commande.
Tout d'abord, utilisez l'opération ListObjectVersions pour rechercher des objets avec
"is-delete-marker": true
. Utilisez ensuite l'opération DeleteObject pour enlever le marqueur de suppression d'un objet.