Gérer les cycles de vie des objets

Cette page explique comment activer la gestion du cycle de vie des objets et présente des exemples de règles de cycle de vie. Pour obtenir une description de cette fonctionnalité, y compris des actions et conditions autorisées, consultez la page Gestion du cycle de vie des objets.

Configurer la gestion du cycle de vie sur un bucket

Activer la gestion du cycle de vie

Pour activer la gestion du cycle de vie d'un bucket, procédez comme suit :

Console

  1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
    Ouvrir le navigateur Cloud Storage
  2. Dans la liste de buckets, recherchez le bucket à activer, puis cliquez sur Aucun dans la colonne Cycle de vie.

    La page des règles de cycle de vie s'affiche.

  3. Cliquez sur Ajouter une règle.

  4. Dans la page qui s'affiche, spécifiez une configuration.

    1. Sélectionnez la ou les conditions dans lesquelles une action est effectuée.

    2. Cliquez sur Continuer.

    3. Sélectionnez l'action à effectuer lorsqu'un objet remplit les conditions.

    4. Cliquez sur Continuer.

    5. Cliquez sur Enregistrer.

gsutil

  1. Créez un fichier .json contenant les règles de configuration du cycle de vie que vous souhaitez appliquer (voir les exemples ci-dessous).

  2. Utilisez la commande lifecycle set pour appliquer la configuration :

    gsutil lifecycle set [LIFECYCLE_CONFIG_FILE] gs://[BUCKET_NAME]

    Où :

    • [LIFECYCLE_CONFIG_FILE] correspond au nom du fichier que vous avez créé à l'étape 1.
    • [BUCKET_NAME] correspond au nom du bucket concerné. Exemple :my-bucket

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 règles de configuration du cycle de vie que vous souhaitez appliquer (voir les exemples ci-dessous).

  3. Exécutez cURL pour appeler l'API JSON avec une requête de bucket PATCH :

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

    Où :

    • [LIFECYCLE_CONFIG_FILE] correspond au nom du fichier que vous avez créé à l'étape 2.
    • [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

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 règles de configuration du cycle de vie que vous souhaitez appliquer (voir les exemples ci-dessous).

  3. Utilisez cURL pour appeler l'API XML avec une requête de bucket PUT :

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

    Où :

    • [XML_FILE] correspond au nom du fichier que vous avez créé à l'étape 2.
    • [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

Désactiver la gestion du cycle de vie

Pour désactiver la gestion du cycle de vie d'un bucket, procédez comme suit :

Console

  1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
    Ouvrir le navigateur Cloud Storage
  2. Dans la liste de buckets, recherchez le bucket que vous souhaitez désactiver, puis cliquez sur Activé dans la colonne Cycle de vie.

    La page des règles de cycle de vie s'affiche.

  3. Cliquez sur Supprimer tout.

  4. Dans la fenêtre de confirmation qui apparaît, cliquez sur Supprimer.

gsutil

  1. Créez un fichier .json contenant une configuration de cycle de vie vide :

    {}
  2. Exécutez la commande lifecycle set :

    gsutil lifecycle set [LIFECYCLE_CONFIG_FILE] gs://[BUCKET_NAME]

    Où :

    • [LIFECYCLE_CONFIG_FILE] correspond au nom du fichier que vous avez créé à l'étape 1.
    • [BUCKET_NAME] correspond au nom du bucket concerné. Exemple :my-bucket

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 une configuration de cycle de vie vide :

    {}
  3. Exécutez cURL pour appeler l'API JSON avec une requête de bucket PATCH :

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

    Où :

    • [LIFECYCLE_CONFIG_FILE] correspond au nom du fichier que vous avez créé à l'étape 2.
    • [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

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 une configuration de cycle de vie vide :

    <LifecycleConfiguration/>
  3. Utilisez cURL pour appeler l'API XML avec une requête de bucket PUT :

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

    Où :

    • [XML_FILE] correspond au nom du fichier que vous avez créé à l'étape 2.
    • [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

Vérifier la configuration du cycle de vie

Pour vérifier la configuration du cycle de vie définie sur un bucket, procédez comme suit :

Console

  1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
    Ouvrir le navigateur Cloud Storage
  2. Dans la liste de buckets, l'état du cycle de vie de chaque bucket se trouve dans la colonne Cycle de vie.

    Cliquez sur cet état pour ajouter, afficher, modifier et supprimer des règles.

gsutil

  1. Exécutez la commande lifecycle get :

    gsutil lifecycle get gs://[BUCKET_NAME]

    [BUCKET_NAME] est le nom du bucket concerné. Exemple :my-bucket

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 de bucket GET :

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

    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

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. Utilisez cURL pour appeler l'API XML avec une requête de bucket GET :

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

    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

Exemples de configuration du cycle de vie des objets

Les exemples suivants illustrent certaines configurations de cycle de vie qui permettent de supprimer des objets et de modifier la classe de stockage d'objets lorsque les conditions communes sont remplies. Pour obtenir une description détaillée des configurations de cycle de vie, y compris la liste des actions et conditions disponibles, reportez-vous à la section Gestion du cycle de vie des objets.

Supprimer un objet

La configuration de cycle de vie suivante définit deux règles :

  1. Supprimez les versions actives des objets datant de plus de 30 jours. Notez que tous vos objets sont considérés comme actifs, sauf si vous utilisez lagestion des versions d'objets.
  2. Supprimez les versions obsolètes des objets datant de plus de 10 jours. Notez que cette règle n'est appliquée qu'aux buckets pour lesquels vous avez, ou aviez précédemment activé la gestion des versions d'objets.

Console

La règle suivante supprime les versions actives des objets datant de plus de 30 jours :

Supprimer les objets actifs de plus de 30 jours.

La règle suivante supprime les versions obsolètes des objets datant de plus de 10 jours :

Supprimer les objets obsolètes datant de plus de 10 jours.

gsutil

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

{
"lifecycle": {
  "rule": [
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 30,
      "isLive": true
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 10,
      "isLive": false
    }
  }
]
}
}

Pour connaître le format généralisé d'un fichier de configuration de cycle de vie, consultez la page représentation des ressources de bucket pour JSON.

API REST

API JSON

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

{
"lifecycle": {
  "rule": [
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 30,
      "isLive": true
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 10,
      "isLive": false
    }
  }
]
}
}

Pour connaître le format généralisé d'un fichier de configuration de cycle de vie, consultez la page représentation des ressources de bucket pour JSON.

API XML

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>true</IsLive>
            <Age>30</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>false</IsLive>
            <Age>10</Age>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Pour connaître le format général d'un fichier de configuration de cycle de vie, consultez la page relative au format de configuration de cycle de vie pour XML.

Modifier la classe de stockage d'un objet

La configuration de cycle de vie suivante définit deux règles :

  1. Changer la classe de stockage d'un objet pour Stockage Nearline si son âge est supérieur à 365 jours (un an) et si sa classe de stockage actuelle est définie sur Stockage standard, Stockage multirégional ou Stockage DRA.
  2. Changer la classe de stockage d'un objet pour Stockage Coldline si son âge est supérieur à 1 095 jours (trois ans) et si sa classe de stockage actuelle est définie sur Stockage Nearline.

Console

La règle suivante déplace les objets vers Nearline 365 jours après la création de l'objet :

Définir les objets sur un stockage Nearline après 365 jours.

La règle suivante déplace les objets vers Coldline 1 095 jours après la création de l'objet :

Définir des objets sur un stockage Coldline après 1 095 jours.

gsutil

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

{
"lifecycle": {
  "rule": [
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "NEARLINE"
    },
    "condition": {
      "age": 365,
      "matchesStorageClass": ["MULTI_REGIONAL", "STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
    }
  },
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "COLDLINE"
    },
    "condition": {
      "age": 1095,
      "matchesStorageClass": ["NEARLINE"]
    }
  }
]
}
}

Pour connaître le format généralisé d'un fichier de configuration de cycle de vie, consultez la page représentation des ressources de bucket pour JSON.

API REST

API JSON

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

{
"lifecycle": {
  "rule": [
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "NEARLINE"
    },
    "condition": {
      "age": 365,
      "matchesStorageClass": ["MULTI_REGIONAL", "STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
    }
  },
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "COLDLINE"
    },
    "condition": {
      "age": 1095,
      "matchesStorageClass": ["NEARLINE"]
    }
  }
]
}
}

Pour connaître le format généralisé d'un fichier de configuration de cycle de vie, consultez la page représentation des ressources de bucket pour JSON.

API XML

La configuration de cycle de vie ci-dessous peut être appliquée à un bucket en activant la gestion du cycle de vie.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <SetStorageClass>NEARLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>365</Age>
            <MatchesStorageClass>MULTI_REGIONAL</MatchesStorageClass>
            <MatchesStorageClass>STANDARD</MatchesStorageClass>
            <MatchesStorageClass>DURABLE_REDUCED_AVAILABILITY</MatchesStorageClass>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <SetStorageClass>COLDLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>1095</Age>
            <MatchesStorageClass>NEARLINE</MatchesStorageClass>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Pour connaître le format général d'un fichier de configuration de cycle de vie, consultez la page relative au format de configuration de cycle de vie pour XML.