Utiliser la gestion des versions des objets

Cette page explique comment configurer la gestion des versions d'objets et propose des exemples d'utilisation. Pour obtenir une description de cette fonctionnalité, consultez la page Gestion des versions des objets.

Configurer la gestion des versions d'objets

Les sections suivantes expliquent comment activer et désactiver la gestion des versions d'objets à l'aide de l'outil gsutil, de l'API JSON et de l'API XML. Cette fonctionnalité ne peut actuellement pas être contrôlée à partir de la console Google Cloud Platform.

Activer la gestion des versions d'objets

Pour activer la gestion des versions d'objets sur un bucket, procédez comme suit :

gsutil

Exécutez la commande gsutil versioning set on, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil versioning set on gs://[BUCKET_NAME]

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Créez un fichier .json contenant les informations suivantes :

    {
      "versioning": {
        "enabled": true
      }
    }
  3. Exécutez cURL pour appeler l'API JSON avec une requête PATCH Bucket, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Type: application/json" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Créez un fichier .xml contenant les informations suivantes, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    <VersioningConfiguration>
      <Status>Enabled</Status>
    </VersioningConfiguration>
  3. Exécutez cURL pour appeler l'API XML avec une requête PUT Bucket et un paramètre de chaîne de requête versioning, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

Une fois la gestion des versions d'objets activée, Cloud Storage crée une version archivée d'un objet chaque fois que sa version active est écrasée ou supprimée.

Désactiver la gestion des versions d'objets

Pour désactiver la gestion des versions d'objets sur un bucket, procédez comme suit :

gsutil

Exécutez la commande gsutil versioning set off, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil versioning set off gs://[BUCKET_NAME]

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Créez un fichier .json contenant les informations suivantes :

    {
      "versioning": {
        "enabled": false
      }
    }
  3. Exécutez cURL pour appeler l'API JSON avec une requête PATCH Bucket, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Type: application/json" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Créez un fichier .xml contenant les informations suivantes, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    <VersioningConfiguration>
      <Status>Suspended</Status>
    </VersioningConfiguration>
  3. Exécutez cURL pour appeler l'API XML avec une requête PUT Bucket et un paramètre de chaîne de requête versioning, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

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 :

gsutil

Exécutez la commande gsutil versioning get, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil versioning get gs://[BUCKET_NAME]

Si la gestion des versions d'objets est activée, vous obtenez une réponse semblable à la suivante :

gs://[BUCKET_NAME]: Enabled

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API JSON avec une requête GET Bucket, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API XML avec une requête GET Bucket et un paramètre de chaîne de requête versioning, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

Utiliser des objets avec des versions gérées

Les sections suivantes expliquent comment utiliser des objets avec des versions gérées. Pour obtenir un exemple détaillé d'utilisation de la gestion des versions d'objets, consultez la section Exemple de gestion des versions d'objets.

Répertorier les versions d'objet archivées

Pour répertorier les versions actives et archivées d'un objet, et afficher leurs numéros de génération (generation), procédez comme suit :

gsutil

Exécutez la commande gsutil ls -a, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil ls -a gs://[BUCKET_NAME]

La réponse est semblable à ceci :

gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER1]
gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER2]
gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER3]
...

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API JSON avec une requête LIST Object, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o?versions=true"

Les versions archivées des objets possèdent une propriété timeDeleted.

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API XML avec une requête GET Bucket et un paramètre de chaîne de requête versions, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versions"

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 d'écrasement).
  • 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ètre generationmarker des requêtes ultérieures si vous souhaitez reprendre à partir de votre dernier point. Le paramètre de requête generationmarker s'utilise de la même manière que le paramètre marker, qui sert à parcourir une liste associée à un bucket sans versions gérées.

Accéder aux versions d'objet archivées

Pour accéder à une version archivée d'un objet, procédez comme suit :

gsutil

  1. Ajoutez le numéro de génération (generation) de l'objet archivé à la fin de son nom, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    [OBJECT_NAME]#[GENERATION_NUMBER]
  2. À l'aide de la chaîne de l'étape 1, procédez comme vous le feriez normalement avec un objet actif.

API REST

API JSON

  1. Ajoutez le numéro de génération (generation) de l'objet archivé à la fin de son URI, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?generation=[GENERATION_NUMBER]
  2. À l'aide de l'URI de l'étape 1, procédez comme vous le feriez normalement avec un objet actif.

API XML

  1. Ajoutez le numéro de génération (generation) de l'objet archivé à la fin de son URI, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]?generation=[GENERATION_NUMBER]
  2. À l'aide de l'URI de l'étape 1, procédez comme vous le feriez normalement avec un objet actif.

Copier des versions d'objet archivées

Pour copier une version archivée d'un objet, procédez comme suit :

gsutil

Exécutez la commande gsutil cp, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil cp gs://[SOURCE_BUCKET_NAME]/[SOURCE_OBJECT_NAME]#[GENERATION_NUMBER] gs://[DESTINATION_BUCKET_NAME]/[DESTINATION_OBJECT_NAME]

Si l'opération réussit, la réponse se présente comme suit :

Operation completed over 1 objects/58.8 KiB.

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API JSON avec une requête POST Object, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X POST \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Length: 0" \
      "https://www.googleapis.com/upload/storage/v1/b/[SOURCE_BUCKET_NAME]/o/[SOURCE_OBJECT_NAME]/rewriteTo/b/[DESTINATION_BUCKET_NAME]/o/[NAME_OF_COPY]?sourceGeneration=[GENERATION_NUMBER]"

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API XML avec une requête PUT Object, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X PUT \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "x-goog-copy-source: [SOURCE_BUCKET_NAME]/[SOURCE_OBJECT_NAME]" \
      -H "x-goog-copy-source-generation:[GENERATION_NUMBER]" \
      "https://storage.googleapis.com/[DESTINATION_BUCKET_NAME]/[NAME_OF_COPY]"

Supprimer des versions d'objet archivées

Pour supprimer une version archivée d'un objet, procédez comme suit :

gsutil

Exécutez la commande gsutil rm, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

gsutil rm gs://[BUCKET_NAME]/[OBJECT_NAME]#[GENERATION_NUMBER]

Si l'opération réussit, la réponse se présente comme suit :

Operation completed over 1 objects.

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API JSON avec une requête DELETE Object, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X DELETE \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?generation=[GENERATION_NUMBER]"

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Exécutez cURL pour appeler l'API XML avec une requête DELETE Object, en remplaçant les éléments entre crochets ([VALUES_IN_BRACKETS]) par les valeurs appropriées :

    curl -X DELETE \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]?generation=[GENERATION_NUMBER]"
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.