Cette page explique comment lister des objets qui ont subi une opération de suppression réversible, mais aussi comment y accéder et comment les restaurer.
Avant de commencer
Pour obtenir les autorisations nécessaires pour lister, accéder et restaurer des objets supprimés de manière réversible, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de l'espace de stockage (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, accéder et restaurer des objets supprimés de manière réversible. 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, mais aussi pour y accéder et pour les restaurer :
-
storage.buckets.get
-
storage.buckets.update
-
storage.buckets.list
(cette autorisation n'est requise que pour exécuter les instructions de cette page à l'aide de la console Google Cloud) -
storage.objects.restore
-
storage.objects.create
-
storage.objects.delete
(cette autorisation n'est requise que pour restaurer des objets de manière à écraser les objets existants) -
storage.buckets.restore
(cette autorisation n'est requise que pour la restauration groupée d'objets supprimés de manière réversible)
Pour en savoir plus sur l'attribution de rôles dans des buckets, consultez la page Utiliser IAM avec des buckets. Pour savoir comment attribuer des rôles aux projets, consultez la page Gérer l'accès aux projets.
Pour gérer les opérations de longue durée lancées à partir de méthodes de suppression temporaire, vous aurez peut-être besoin de rôles et d'autorisations supplémentaires. Pour en savoir plus, consultez la section Rôles requis pour les opérations de longue durée.
Lister tous les objets soumis à suppression réversible dans un bucket
Vous pouvez lister tous les objets d'un bucket ayant été soumis à une opération de suppression réversible.
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez afficher les objets soumis à suppression 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 soumis à suppression réversible dans un bucket, exécutez la commande gcloud storage ls
avec les options --soft-deleted
et --recursive
:
gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive
Remplacez les éléments suivants :
BUCKET_NAME
: nom du bucket. Exemple :my-bucket
.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requête permettant de répertorier les objets à l'aide du 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_NAME
est le nom du bucket concerné. Exemple :my-bucket
Afficher toutes les versions supprimées de façon réversible d'un objet
Vous pouvez afficher toutes les versions supprimées de façon réversible d'un objet spécifique de votre bucket.
Console
- Dans la console Google Cloud, accédez à la page Buckets 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 de l'objet 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 supprimées de façon réversible d'un objet au sein d'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 gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requête permettant de répertorier les objets à l'aide du 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 soumis à suppression réversible
Vous pouvez restaurer une version spécifique d'un objet soumis à suppression réversible dans votre bucket.
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket qui contient les objets soumis à suppression 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 soumis à suppression réversible. La page Détails de l'objet s'affiche.
Dans la liste Afficher, sélectionnez Objets supprimés de façon réversible uniquement. Une liste de toutes les versions supprimées de façon réversible de cet objet s'affiche.
Pour restaurer une version supprimée de façon réversible d'un objet, cliquez sur Restaurer en regard 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 supprimée de façon réversible d'un objet, 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 soumis à suppression 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 l'option all-versions
, consultez la documentation de référence de gcloud storage restore
.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Exécutez la commande
cURL
pour appeler l'API JSON avec une requêtePOST
Object :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_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet soumis à suppression réversible que vous souhaitez restaurer. Par exemple,cat.jpeg
.GENERATION_NUMBER
correspond au numéro de génération de l'objet soumis à suppression réversible que vous souhaitez restaurer. Exemple :1560468815691234
.
Effectuer une restauration groupée d'objets soumis à suppression réversible dans un bucket
Si vous souhaitez restaurer un grand nombre d'objets ou si vous ne connaissez pas les objets spécifiques que vous souhaitez 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 obtenir 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.
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, recherchez celui qui contient les objets à restaurer.
Cliquez sur le menu déroulant de bucket (more_vert) associé au bucket, puis sélectionnez Créer un job de restauration.
Le volet Créer job de restauration s'ouvre.
Dans la section Choisir les objets supprimés de façon réversible à restaurer, sélectionnez la période de suppression à partir de laquelle vous souhaitez restaurer les objets.
(Facultatif) Sélectionnez Filter by glob pattern (Filtrer par modèle glob) et saisissez un modèle glob pour ne restaurer que les objets répondant aux critères de modèle glob.
(Facultatif) Activez 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) situé 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
.
La commande suivante effectue une opération de restauration groupée afin de restaurer de manière 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 la restauration des objets supprimés après une certaine date. Exemple :2022-12-01
.DELETED_BEFORE_TIME
: argument facultatif permettant de spécifier la restauration des objets supprimés avant une certaine date. Exemple :2022-12-21
.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 gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Exécutez la commande
cURL
pour appeler l'API JSON avec une requêtePOST
Object :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_NAME
est 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 lance une opération de longue durée. Vous pouvez obtenir 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 la section 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.