Cette page explique comment activer, désactiver et vérifier l'état de la gestion des versions d'objets sur un bucket. Consultez la page Utiliser des objets avec des versions gérées pour savoir comment répertorier, restaurer et supprimer les objets conservés par la gestion des versions d'objets.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir et gérer les versions des objets dans un bucket, demandez à votre administrateur de vous accorder le rôle IAM "Administrateur de l'espace de stockage" (roles/storage.admin
) sur le bucket ou le projet qui contient le bucket. Ce rôle prédéfini contient les autorisations requises pour définir et gérer les versions d'objets dans un bucket. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.get
storage.buckets.update
storage.buckets.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la console Google Cloud pour suivre les instructions de cette page.
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés.
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.
Définir la gestion des versions d'objets sur un 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 pour lequel vous souhaitez activer ou désactiver la gestion des versions des objets.
Sélectionnez l'onglet Protection en haut de la page.
L'état actuel de la gestion des versions des objets s'affiche dans la section Gestion des versions des objets.
Dans la section Gestion des versions des objets, cliquez sur l'état actuel pour le modifier.
La boîte de dialogue Gestion des versions des objets s'affiche.
- Si vous activez la gestion des versions des objets et que vous souhaitez réduire les coûts de stockage, cochez la case Ajouter les règles de cycle de vie recommandées pour gérer les coûts de version.
Cliquez sur Confirmer.
Ligne de commande
Exécutez la commande gcloud storage buckets update
avec l'option appropriée :
gcloud storage buckets update gs://BUCKET_NAME FLAG
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.FLAG
correspond soit à--versioning
pour activer la gestion des versions d'objets, soit à--no-versioning
pour la désactiver.
Si l'opération réussit, la réponse se présente comme suit :
Updating gs://my-bucket/... Completed 1
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant active la gestion des versions des objets sur un bucket :
L'exemple suivant désactive la gestion des versions des objets sur un bucket :
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Créez un fichier JSON contenant les informations suivantes :
{ "versioning": { "enabled": STATE } }
où STATE est
true
oufalse
.Utilisez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
API XML
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Créez un fichier XML contenant les informations suivantes :
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
où STATE est
Enabled
ouSuspended
.Utilisez
cURL
pour appeler l'API XML avec une requête de bucketPUT
et un paramètre de chaîne de requêteversioning
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Où :
XML_FILE_NAME
correspond au chemin d'accès au fichier XML que vous avez créé à l'étape 2.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
Une fois la gestion des versions d'objets activée, chaque fois qu'une version active est remplacée ou supprimée, elle devient une version obsolète.
Vérifier si la gestion des versions d'objets est activée
Pour vérifier si la gestion des versions d'objets est activée sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, l'état de la gestion des versions des objets de chaque bucket est indiqué dans la colonne Protection.
Si cette option est activée, le texte Gestion des versions des objets s'affiche.
Ligne de commande
Exécutez la commande gcloud storage buckets describe
avec l'option --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(versioning)"
Où BUCKET_NAME
correspond au nom du bucket dont vous souhaitez afficher l'état. Par exemple, my-bucket
.
Si l'opération réussit et que la gestion des versions d'objets est activée, la réponse ressemble à l'exemple suivant :
versioning: enabled: true
Si l'opération réussit et que la gestion des versions d'objets n'est pas activée, la réponse se présente comme suit :
null
API REST
API JSON
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requête de bucketGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Si l'opération réussit et que la gestion des versions d'objets est activée, la réponse ressemble à l'exemple suivant :
{ "versioning": { "enabled": true } }
Si l'opération réussit et que la gestion des versions d'objets n'est pas activée, la réponse se présente comme suit :
{}
API XML
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour 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êteversioning
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Où
BUCKET_NAME
est le nom du bucket concerné. Exemple :my-bucket
Si l'opération réussit et que la gestion des versions d'objets est activée, la réponse ressemble à l'exemple suivant :
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
Si l'opération réussit et que la gestion des versions d'objets n'est pas activée, la réponse se présente comme suit :
<VersioningConfiguration/>
Étapes suivantes
- Apprenez-en davantage sur la gestion des versions des objets.
- Découvrez comment utiliser des objets archivés.
- Découvrez comment utiliser la gestion du cycle de vie des objets pour gérer automatiquement les versions des objets.
- Découvrez comment utiliser les conditions préalables de requête pour éviter les conditions de concurrence.