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.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer des objets archivés, demandez à votre administrateur de vous attribuer le rôle IAM "Utilisateur d'objets Storage" (roles/storage.objectUser
) sur le projet. Ce rôle prédéfini contient les autorisations requises pour gérer les objets archivés. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés.
Pour savoir comment attribuer des rôles aux projets, consultez la page Gérer l'accès aux projets.
Selon votre cas d'utilisation, vous aurez peut-être besoin d'autorisations supplémentaires ou de rôles alternatifs :
Si vous prévoyez d'utiliser la console Google Cloud pour effectuer les tâches de cette page, vous devez également disposer de l'autorisation
storage.buckets.list
, qui n'est pas incluse dans le rôle "Utilisateur d'objets Storage" (roles/storage.objectUser
). Pour obtenir cette autorisation, demandez à votre administrateur de vous attribuer le rôle "Administrateur de l'espace de stockage" (roles/storage.admin
) sur le projet.Si l'accès uniforme au niveau du bucket est désactivé pour votre bucket, vous avez besoin d'autorisations supplémentaires dans les scénarios suivants :
Si vous envisagez de renvoyer des objets obsolètes avec leurs LCA, vous devez également disposer de l'autorisation
storage.objects.getIamPolicy
, qui n'est pas incluse dans le rôle Utilisateur d'objets Storage (roles/storage.objectUser
). Pour obtenir cette autorisation, demandez à votre administrateur de vous attribuer le rôle "Administrateur de l'espace de stockage" (roles/storage.objectAdmin
) sur le projet.Si vous envisagez de renommer ou de restaurer des objets archivés dotés de LCA, vous devez également disposer de l'autorisation
storage.objects.setIamPolicy
, qui n'est pas incluse dans le rôle "Utilisateur d'objets Storage" (roles/storage.objectUser
). Pour obtenir cette autorisation, demandez à votre administrateur de vous attribuer le rôle "Administrateur de l'espace de stockage" (roles/storage.objectAdmin
) sur le projet.
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 recherché.
La page Informations sur le bucket s'ouvre avec l'onglet Objets sélectionné.
Pour afficher les objets archivés, cliquez sur la liste déroulante Afficher et sélectionnez Objets actifs et archivés.
Dans la liste des objets, cliquez sur le nom de l'objet dont vous souhaitez afficher les versions.
La page Détails de l'objet s'ouvre avec l'onglet Objet actif sélectionné.
Cliquez sur l'onglet Historique des versions pour afficher toutes les versions de l'objet.
Ligne de commande
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 contenant les objets. 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++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
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
cURL
pour appeler l'API JSON avec une requête Objects: list :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Où
BUCKET_NAME
est le nom du bucket qui contient les objets. Exemple :my-bucket
Les versions archivées des objets possèdent une propriété timeDeleted
.
API XML
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 XML avec une requête de bucketGET
et un paramètre de chaîne de requêteversions
.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Où
BUCKET_NAME
est le nom du bucket qui contient les objets. 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, restore ou supprimer une version archivée. Ces actions s'effectuent à partir de la liste de l'historique des versions pour un objet.
Ligne de commande
Ajoutez le numéro de génération 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 précédente, procédez comme vous le feriez normalement avec la version active de l'objet. Par exemple, pour afficher les métadonnées d'une version d'objet archivée, utilisez la commande
gcloud storage objects describe
:gcloud storage objects describe gs://my-bucket/pets/dog.png#1560468815691234
API REST
API JSON
Ajoutez le numéro de génération 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 précédente, procédez comme vous le feriez normalement avec la version active de l'objet. Par exemple, pour afficher les métadonnées d'une version d'objet archivée, utilisez cURL pour appeler l'API JSON avec une requête Objects: get :
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/my-bucket/o/pets/dog.png?generation=1560468815691234"
API XML
Ajoutez le numéro de génération 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 précédente, procédez comme vous le feriez normalement avec la version active de l'objet. Par exemple, pour afficher les métadonnées d'une version d'objet archivée, utilisez
cURL
pour appeler l'API XML avec une requête ObjectHEAD
:curl -I GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/my-bucket/pets/dog.png?generation=1560468815691234"
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 recherché.
La page Informations sur le bucket s'ouvre avec l'onglet Objets sélectionné.
Pour afficher les objets archivés, cliquez sur la liste déroulante Afficher et sélectionnez Objets actifs et archivés.
Dans la liste des objets, cliquez sur le nom de la version d'objet que vous souhaitez restaurer.
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.
Ligne de commande
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.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
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-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ù :
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
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 XML avec une requêtePUT
Object :curl -X PUT \ -H "Authorization: Bearer $(gcloud auth print-access-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ù :
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 recherché.
La page Informations sur le bucket s'ouvre avec l'onglet Objets sélectionné.
Pour afficher les objets archivés, cliquez sur la liste déroulante Afficher et sélectionnez Objets actifs et archivés.
Accédez à l'objet, qui peut se trouver dans un dossier.
Dans la liste des objets, cliquez sur le nom de l'objet dont vous souhaitez supprimer la version.
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.
Ligne de commande
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.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
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êteDELETE
Object :curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "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 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
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 XML avec une requêteDELETE
Object :curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=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 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.