Cette page explique comment répertorier des objets obsolètes, y accéder, les restaurer et les supprimer, ce qui s'applique généralement aux buckets pour lesquels la fonctionnalité de gestion des versions d'objets est activée.
Autorisations requises
Console
Pour suivre ce guide à l'aide de Google Cloud Console, vous devez disposer des autorisations IAM appropriées. Si le bucket auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour Google Cloud Console.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Command line
Pour suivre ce guide à l'aide d'un utilitaire de ligne de commande, vous devez disposer des autorisations IAM appropriées. Si le bucket auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les commandes gsutil.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Bibliothèques clientes
Pour suivre ce guide à l'aide des bibliothèques clientes Cloud Storage, vous devez disposer des autorisations IAM appropriées. Si le bucket auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Sauf indication contraire, les requêtes de bibliothèque cliente sont effectuées via l'API JSON et nécessitent des autorisations, comme indiqué dans la section Autorisations IAM pour les méthodes JSON. Pour savoir quelles méthodes d'API JSON sont appelées lorsque vous envoyez des requêtes à l'aide d'une bibliothèque cliente, consignez les requêtes brutes.
Pour obtenir la liste des rôles IAM pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
API REST
API JSON
Pour suivre ce guide à l'aide de l'API JSON, vous devez disposer des autorisations IAM appropriées. Si le bucket auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les méthodes JSON.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Répertorier les versions d'objet archivées
Pour répertorier les versions actives et archivées des objets, et afficher leur numéro de génération generation
, procédez comme suit :
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 souhaité.
La page "Informations sur le bucket" s'ouvre avec l'onglet Objets sélectionné.
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur le nom de l'objet souhaité.
La page "Détails de l'objet" s'ouvre avec l'onglet Objet actif sélectionné.
Cliquez sur l'onglet Historique des versions.
Command line
gcloud
Exécutez la commande gcloud storage ls --all-versions
:
gcloud storage ls --all-versions gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
La réponse est semblable à ceci :
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
gsutil
Exécutez la commande gsutil ls -a
:
gsutil ls -a gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
La réponse est semblable à ceci :
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez la commande
cURL
pour appeler l'API JSON avec une requêteLIST
Object :curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
Les versions archivées des objets possèdent une propriété timeDeleted
.
API XML
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Utilisez
cURL
pour appeler l'API XML avec une requête de bucketGET
et un paramètre de chaîne de requêteversions
.curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
Les résultats de la requête GET
peuvent être légèrement différents lorsque vous utilisez le paramètre de requête versions
.
Plus précisément, Cloud Storage renvoie les informations suivantes lorsque vous incluez un paramètre versions
dans votre requête :
- Un élément
Version
qui contient des informations sur chaque objet. - Un élément
DeletedTime
qui contient l'heure d'archivage de l'objet (en cas de suppression ou de remplacement). - Un élément IsLatest qui indique si l'objet spécifique constitue la dernière version.
- Un élément
NextGenerationMarker
est renvoyé si la liste d'objets est partielle, ce qui se produit lorsqu'un bucket dispose de nombreuses versions d'objets. Utilisez la valeur de cet élément dans le paramètregenerationmarker
des requêtes ultérieures si vous souhaitez reprendre à partir de votre dernier point. Le paramètre de requêtegenerationmarker
s'utilise de la même manière que le paramètremarker
, qui sert à parcourir une liste associée à un bucket sans versions gérées.
Accéder aux versions d'objet archivées
Pour utiliser la version archivée d'un objet lors de l'exécution de tâches, telles que le téléchargement de l'objet, l'affichage ou la mise à jour de ses métadonnées, procédez comme suit :
Console
L'accès général à une version archivée n'est pas disponible dans la console Google Cloud. La console Google Cloud vous permet uniquement de déplacer, copier, restaurer ou supprimer une version archivée. Ces actions s'effectuent à partir de la liste de l'historique des versions pour un objet.
Command line
gcloud
Ajoutez le numéro de génération
generation
de la version archivée au nom de l'objet :OBJECT_NAME#GENERATION_NUMBER
Où :
OBJECT_NAME
correspond au nom de la version archivée. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée. Exemple :1560468815691234
À l'aide de la chaîne de l'étape 1, procédez comme vous le feriez normalement avec la version active de l'objet.
gsutil
Ajoutez le numéro de génération
generation
de la version archivée au nom de l'objet :OBJECT_NAME#GENERATION_NUMBER
Où :
OBJECT_NAME
correspond au nom de la version archivée. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée. Exemple :1560468815691234
À l'aide de la chaîne de l'étape 1, procédez comme vous le feriez normalement avec la version active de l'objet.
API REST
API JSON
Ajoutez le numéro de génération
generation
de la version archivée à la fin de l'URI de l'objet :https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé en URL de la version archivée. Par exemple,pets/dog.png
, encodé au format URL sous la formepets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée. Exemple :1560468815691234
À l'aide de l'URI de l'étape 1, procédez comme vous le feriez normalement avec la version active de l'objet.
API XML
Ajoutez le numéro de génération
generation
de la version archivée à la fin de l'URI de l'objet :https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé en URL de la version archivée. Par exemple,pets/dog.png
, encodé au format URL sous la formepets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée. Exemple :1560468815691234
À l'aide de l'URI de l'étape 1, procédez comme vous le feriez normalement avec la version active de l'objet.
Restaurer les versions d'objet archivées
Dans Cloud Storage, la restauration d'une version d'objet archivée consiste à en créer une copie. La copie devient alors la version active, ce qui permet de restaurer la version. S'il existe déjà une version active et que la gestion des versions d'objets est activée sur le bucket, la restauration de la version archivée entraîne l'abandon de la version active.
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 souhaité.
La page "Informations sur le bucket" s'ouvre avec l'onglet Objets sélectionné.
Pour afficher les objets supprimés, cliquez sur le bouton "Afficher les données supprimées".
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur le nom de l'objet souhaité.
La page "Détails de l'objet" s'ouvre avec l'onglet Objet actif sélectionné.
Cliquez sur l'onglet Historique des versions.
Cliquez sur le bouton Restaurer correspondant à la version souhaitée.
Le volet de restauration de version d'objet s'ouvre.
Cliquez sur Confirmer.
Command line
gcloud
Exécutez la commande gcloud storage cp
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER gs://BUCKET_NAME/OBJECT_NAME
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez restaurer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom de la version archivée que vous souhaitez restaurer. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
.
Si l'opération réussit, la réponse se présente comme suit :
Operation completed over 1 objects/58.8 KiB.
gsutil
Exécutez la commande gsutil cp
:
gsutil cp gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER gs://BUCKET_NAME/OBJECT_NAME
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez restaurer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom de la version archivée que vous souhaitez restaurer. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
.
Si l'opération réussit, la réponse se présente comme suit :
Operation completed over 1 objects/58.8 KiB.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez la commande
cURL
pour appeler l'API JSON avec une requêtePOST
Object :curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?sourceGeneration=GENERATION_NUMBER"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez restaurer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom encodé en URL de la version archivée que vous souhaitez restaurer. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez restaurer. Exemple :1560468815691234
API XML
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez la commande
cURL
pour appeler l'API XML avec une requêtePUT
Object :curl -X PUT \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-copy-source: BUCKET_NAME/OBJECT_NAME" \ -H "x-goog-copy-source-generation:GENERATION_NUMBER" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez restaurer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom encodé en URL de la version archivée que vous souhaitez restaurer. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez restaurer. Exemple :1560468815691234
Une fois la version de l'objet restaurée, la version archivée d'origine existe toujours dans le bucket. Si vous n'avez plus besoin de la version archivée, vous pouvez la supprimer ou configurer la gestion du cycle de vie des objets pour la supprimer lorsqu'elle répond aux conditions que vous avez spécifiées.
Supprimer des versions d'objet archivées
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 souhaité.
La page "Informations sur le bucket" s'ouvre avec l'onglet Objets sélectionné.
Accédez à l'objet, qui peut se trouver dans un dossier.
Cliquez sur le nom de l'objet souhaité.
La page "Détails de l'objet" s'ouvre avec l'onglet Objet actif sélectionné.
Cliquez sur l'onglet Historique des versions.
Cochez la case correspondant à la version souhaitée.
Cliquez sur le bouton Supprimer.
Le volet "Supprimer la version" s'affiche.
Confirmez que vous souhaitez supprimer l'objet en saisissant
delete
dans la zone de texte.Cliquez sur Supprimer.
Command line
gcloud
Exécutez la commande gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez supprimer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom de la version archivée que vous souhaitez supprimer. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
.
Si l'opération réussit, la réponse se présente comme suit :
Operation completed over 1 objects.
gsutil
Exécutez la commande gsutil rm
:
gsutil rm gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Où :
BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez supprimer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom de la version archivée que vous souhaitez supprimer. Exemple :pets/dog.png
GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
.
Si l'opération réussit, la réponse se présente comme suit :
Operation completed over 1 objects.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez la commande
cURL
pour appeler l'API JSON avec une requêteDELETE
Object :curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez supprimer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom encodé en URL de la version archivée que vous souhaitez supprimer. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
API XML
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Exécutez la commande
cURL
pour appeler l'API XML avec une requêteDELETE
Object :curl -X DELETE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket contenant la version archivée que vous souhaitez supprimer. Exemple :my-bucket
.OBJECT_NAME
correspond au nom encodé en URL de la version archivée que vous souhaitez supprimer. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.GENERATION_NUMBER
correspond au numéro de génération de la version archivée que vous souhaitez supprimer. Exemple :1560468815691234
Étape suivante
- Apprenez-en plus sur la gestion des versions des objets et consultez un exemple détaillé.
- Activez ou désactivez la gestion des versions d'objets pour un bucket.
- Découvrez comment utiliser la gestion du cycle de vie des objets pour gérer automatiquement les versions des objets.