Cette page explique comment lister des objets qui ont subi une opération de suppression réversible, mais aussi comment y accéder et les restaurer.
Avant de commencer
Pour obtenir les autorisations nécessaires pour lister des objets supprimés de manière réversible, y accéder et les restaurer, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Storage (roles/storage.admin) sur le bucket, le dossier géré ou le projet.
Ce rôle prédéfini contient les autorisations requises pour lister des objets supprimés de manière réversible, y accéder et les restaurer. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour lister des objets qui ont subi une opération de suppression réversible, ainsi que pour y accéder et les restaurer :
-
storage.buckets.get(autorisation requise uniquement pour exécuter les instructions de cette page à l'aide de la console Google Cloud ) -
storage.buckets.list(autorisation requise uniquement pour exécuter les instructions de cette page à l'aide de la console Google Cloud ) -
storage.objects.get(autorisation requise uniquement pour exécuter les instructions de cette page à l'aide de la console Google Cloud ) -
storage.objects.list -
storage.objects.restore -
storage.objects.create -
storage.objects.delete(autorisation requise uniquement pour restaurer des objets de façon à écraser des objets existants) -
storage.buckets.restore(autorisation requise uniquement pour la restauration groupée d'objets supprimés de façon réversible)
Pour en savoir plus sur l'attribution de rôles sur des buckets, consultez Définir et gérer des stratégies IAM sur des buckets. Pour savoir comment attribuer des rôles sur des projets, consultez Gérer l'accès aux projets.
Pour gérer les opérations de longue durée initiées par des méthodes de suppression réversible, vous aurez peut-être besoin de rôles et d'autorisations supplémentaires. Pour en savoir plus, consultez Rôles requis pour les opérations de longue durée.
Lister tous les objets supprimés de façon réversible dans un bucket
Suivez les instructions ci-dessous pour lister tous les objets supprimés de façon réversible dans un bucket :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez afficher les objets supprimés de façon réversible. La page Informations sur le bucket s'ouvre, avec l'onglet Objets sélectionné.
Dans la liste Afficher, sélectionnez Objets supprimés de façon réversible uniquement. Une liste des objets soumis à suppression réversible s'affiche.
Ligne de commande
Pour afficher la liste de tous les objets supprimés de façon réversible dans un bucket, exécutez la commande gcloud storage ls avec le flag --soft-deleted et le caractère générique **. Notez que vous devrez peut-être entourer l'expression générique de guillemets.
gcloud storage ls gs://BUCKET_NAME/** --soft-deleted
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket. Exemple :my-bucket.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de recensement d'objets qui utilise le paramètre de requête?softDeleted:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?softDeleted=true"
Où
BUCKET_NAMEest le nom du bucket concerné. Exemple :my-bucket.
Afficher toutes les versions d'un objet supprimées de façon réversible
Suivez les instructions ci-dessous pour afficher toutes les versions d'un objet spécifique de votre bucket qui ont été supprimées de façon réversible :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket contenant l'objet dont vous souhaitez afficher les versions supprimées de façon réversible. La page Informations sur le bucket s'ouvre, avec l'onglet Objets sélectionné.
Cliquez sur l'objet pour lequel vous souhaitez afficher toutes les versions supprimées de façon réversible. La page Détails des objets s'affiche.
Cliquez sur l'onglet Historique des versions.
Dans la liste Afficher, sélectionnez Objets supprimés de façon réversible uniquement. La liste de toutes les versions supprimées de façon réversible pour cet objet s'affiche.
Ligne de commande
Pour afficher la liste de toutes les versions d'un objet supprimées de façon réversible dans un bucket, utilisez la commande gcloud storage ls :
gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket. Exemple :my-bucket.OBJECT_NAME: nom de l'objet dont vous souhaitez afficher toutes les versions.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de recensement d'objets qui utilise le paramètre de requête?softDeleted:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket. Exemple :my-bucket.OBJECT_NAME: nom de l'objet pour lequel vous souhaitez afficher toutes les versions.
Restaurer un objet supprimé de façon réversible
Vous pouvez restaurer une version spécifique d'un objet supprimé de façon réversible dans votre bucket. Notez que vous ne pouvez pas restaurer les objets d'un bucket supprimé de façon réversible. Pour restaurer des objets d'un bucket supprimé de façon réversible, vous devez d'abord restaurer le bucket supprimé de façon réversible.
Suivez les instructions ci-dessous pour restaurer un objet supprimé de façon réversible :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket qui contient les objets supprimés de façon réversible que vous souhaitez restaurer. La page Informations sur le bucket s'ouvre, avec l'onglet Objets sélectionné.
Dans la liste Afficher, sélectionnez Objets supprimés de façon réversible uniquement.
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur l'objet supprimé de façon réversible. La page Détails des objets s'affiche.
Dans la liste Afficher, sélectionnez Objets supprimés de façon réversible uniquement. Une liste de toutes les versions de l'objet qui ont été supprimées de façon réversible s'affiche.
Pour restaurer une version d'un objet qui a été supprimée de façon réversible, cliquez sur Restaurer à côté de la version souhaitée. Le volet de restauration de version d'objet s'ouvre.
Cliquez sur Confirmer.
Ligne de commande
Pour restaurer une version d'un objet qui a été supprimée de façon réversible, utilisez la commande gcloud storage restore :
gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket. Exemple :my-bucket.OBJECT_NAME: nom de l'objet pour lequel vous souhaitez afficher toutes les versions.GENERATION_NUMBER: numéro de génération de l'objet supprimé de façon réversible que vous souhaitez restaurer. Exemple :1560468815691234. Si vous ne spécifiez pas le numéro de génération, la dernière version est restaurée.
Pour découvrir d'autres options permettant de restaurer plusieurs objets de manière groupée, y compris la restauration de toutes les versions d'un objet avec le flag all-versions, consultez la documentation de référence de gcloud storage restore.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requêtePOSTObject :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"
Où :
BUCKET_NAMEcorrespond au nom du bucket concerné. Exemple :my-bucket.OBJECT_NAMEcorrespond au nom de l'objet supprimé de façon réversible que vous souhaitez restaurer. Exemple :cat.jpeg.GENERATION_NUMBERcorrespond au numéro de génération de l'objet supprimé de façon réversible que vous souhaitez restaurer. Exemple :1560468815691234.
Effectuer une restauration groupée d'objets supprimés de façon réversible dans un bucket
Si vous souhaitez restaurer un grand nombre d'objets ou si vous ne connaissez pas les objets spécifiques à restaurer, utilisez l'opération de restauration groupée. Notez que les opérations de restauration groupée s'effectuent de manière asynchrone et peuvent, dans certains cas, prendre une heure ou plus.
Une opération de restauration groupée lance une opération de longue durée sur un bucket. Vous pouvez utiliser la Google Cloud CLI pour récupérer et lister les opérations de longue durée, afin d'afficher les détails et l'état de l'opération de restauration groupée lorsqu'elle est en cours.
Suivez les instructions ci-dessous pour restaurer de manière groupée les objets supprimés de façon réversible dans un bucket :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, recherchez celui qui contient les objets à restaurer.
Cliquez sur le menu déroulant (more_vert) associé au bucket, puis sélectionnez Créer un job de restauration.
Le volet Créer un job de restauration s'ouvre.
Dans la section Choisir les objets supprimés de façon réversible que vous souhaitez restaurer, sélectionnez la période de suppression à partir de laquelle vous souhaitez restaurer les objets.
Facultatif : pour ne restaurer que les objets correspondant à un schéma glob, sélectionnez Filtrer par schéma glob, puis spécifiez un schéma glob.
(Facultatif) Spécifiez d'autres comportements de restauration dans la section Options de restauration.
Cliquez sur Créer.
Vous pouvez suivre la progression de votre opération de restauration groupée en cliquant sur le bouton Notifications (notifications) dans l'en-tête de la console Google Cloud .
Ligne de commande
Pour utiliser l'opération de restauration groupée afin de restaurer tous les objets d'un bucket, utilisez la commande gcloud storage restore.
Par exemple, la commande suivante effectue une opération de restauration groupée afin de restaurer de façon asynchrone tous les objets du bucket qui ont été supprimés au cours d'une période donnée :
gcloud storage restore gs://BUCKET_NAME/** \
--async --deleted-after-time=DELETED_AFTER_TIME \
--deleted-before-time=DELETED_BEFORE_TIME
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket. Exemple :my-bucket.DELETED_AFTER_TIME: argument facultatif permettant de spécifier que la restauration doit porter sur des objets supprimés après une certaine date. Exemple :2022-12-01.DELETED_BEFORE_TIME: argument facultatif permettant de spécifier que la restauration doit porter sur des objets supprimés avant une certaine date. Exemple :2022-12-21.
Pour découvrir d'autres options permettant de filtrer les objets à restaurer de manière groupée, consultez la documentation de référence gcloud storage restore.
Si l'opération réussit, la commande renvoie l'ID de l'opération de longue durée associée à l'opération de restauration groupée. Vous pouvez obtenir des détails sur l'opération de longue durée, ou bien l'annuler afin d'interrompre l'opération de restauration groupée avant qu'elle n'arrive à son terme. Pour en savoir plus, consultez Utiliser des opérations de longue durée.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requêtePOSTObject :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/bulkRestore"
Où
BUCKET_NAMEest le nom du bucket concerné. Exemple :my-bucket.
Si l'opération réussit, la commande renvoie l'ID de l'opération de longue durée associée à l'opération de restauration groupée. Vous pouvez obtenir des détails sur l'opération de longue durée, ou bien l'annuler afin d'interrompre l'opération de restauration groupée avant qu'elle n'arrive à son terme. Pour en savoir plus, consultez Utiliser des opérations de longue durée.
Utiliser les opérations de longue durée pour la restauration groupée
L'opération de restauration groupée des objets lance une opération de longue durée. Vous pouvez récupérer et lister les opérations de longue durée afin d'afficher les détails et l'état d'une opération de restauration groupée, ou supprimer une opération de longue durée pour annuler une opération de restauration groupée en cours.
Pour savoir comment utiliser les opérations de longue durée lancées à partir d'opérations dans Cloud Storage, telles que la restauration groupée, consultez Utiliser des opérations de longue durée.
L'exemple suivant montre une opération de longue durée renvoyée par une opération de restauration groupée :
done: false { "kind": "storage@operation", "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg", "metadata": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata", "commonMetadata": { "type": "bulk-restore-objects", "createTime": "2023-10-20T21:08:11.289Z", "updateTime": "2023-10-20T21:18:37.583Z", "endTime": "2023-10-20T21:18:37.583Z", "requestedCancellation": false, "progressPercent": -1, }, "allow_overwrite": false, "matchGlobs": ["*"], "succeededCount": "0", "failedCount": "0", "skippedCount": "0", }, "done": true, "response": { "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse" } }
Étape suivante
- Obtenez davantage d'informations sur la suppression réversible.