Exemples de configuration de gestion du cycle de vie des objets

Présentation Configuration

Cette page présente des exemples de configuration de gestion du cycle de vie des objets. Lorsque vous définissez une configuration de cycle de vie sur un bucket, l'action spécifiée. est appliquée aux objets actuels et futurs du bucket qui répondent aux conditions que vous définissez.

Supprimer les anciennes versions des objets

La configuration de cycle de vie suivante définit deux règles. Notez que ces règles ne s'appliquent que si vous utilisez la gestion des versions des objets sur le bucket :

  1. Supprimez les versions obsolètes d'objets s'il existe deux versions plus récentes de l'objet dans le bucket. Les objets auxquels cette règle s'applique sont définitivement supprimés et ne peuvent pas être récupérés.

  2. Supprimez les versions obsolètes des objets qui sont obsolètes depuis sept jours. Les objets auxquels cette règle s'applique sont définitivement supprimés et ne peuvent pas être récupérés.

La combinaison de ces deux règles dans les buckets qui utilisent la gestion des versions des objets implique que les objets actifs peuvent être récupérés pendant un certain temps s'ils sont écrasés ou supprimés : l'objet reste dans le bucket à l'état obsolète pendant sept jours ou jusqu'à ce que deux versions plus récentes de l'objet existent dans le bucket.

Console

Ces paramètres utilisent les instructions de la section concernant la définition d'une configuration.

  1. Pour supprimer les versions obsolètes des objets s'il existe une version plus récente, procédez comme suit :

    1. Sélectionnez l'action Supprimer un objet.
    2. Sélectionnez la condition En cours, puis cochez la case d'option Archivé (obsolète).
    3. Sélectionnez la condition Nombre de versions plus récentes, puis saisissez la valeur 2.
  2. Pour supprimer les versions obsolètes des objets après sept jours d'archivage, procédez comme suit :

    1. Sélectionnez l'action Supprimer un objet.
    2. Sélectionnez la condition Nombre de jours écoulés depuis l'archivage, puis saisissez la valeur 7.

Command line

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": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

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": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

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>false</IsLive>
            <NumberOfNewerVersions>2</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <DaysSinceNoncurrentTime>7</DaysSinceNoncurrentTime>
        </Condition>
    </Rule>
</LifecycleConfiguration>

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

Modifications de configuration

En fonction de vos objectifs, vous pouvez apporter plusieurs modifications à cet exemple de configuration :

  • Si vous souhaitez que vos objets actifs aient une durée de vie limitée, créez une règle supplémentaire qui utilise l'action Delete, une condition isLive définie sur true, et une condition age.

  • Si vous souhaitez protéger vos données contre la suppression accidentelle mais pas contre l'écrasement accidentel, définissez le nombre de versions plus récentes sur 1, ce qui présente également l'avantage de réduire les coûts de stockage car vous conservez moins de versions d'un objet.

  • Si vos données sont stockées dans les classes Nearline, Coldline ou Archive, ajoutez une condition age ou utilisez une valeur plus élevée pour daysSinceNoncurrent afin d'éviter les frais de suppression anticipée. Notez que même avec ces modifications, des frais de suppression anticipée peuvent vous être facturés selon la fréquence à laquelle vous écrasez et supprimez vos objets.

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 et que son nom se termine par .jpg ou .png.
  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 et que son nom se termine par .jpg ou .png.

Console

Ces paramètres utilisent les instructions de la section concernant la définition d'une configuration.

  1. Pour déplacer les objets vers la classe stockage Nearline 365 jours après leur création, procédez comme suit :

    1. Sélectionnez l'action Passer en classe de stockage Nearline.
    2. Sélectionnez le champ d'application de la règle Le nom de l'objet correspond au suffixe.
    3. Dans le champ qui s'affiche, saisissez .jpg, puis appuyez sur Entrée. Saisissez ensuite .png, puis appuyez à nouveau sur Entrée.
    4. Sélectionnez la condition Âge, puis saisissez la valeur 365.
    5. Sélectionnez la condition La classe de stockage correspond à, puis choisissez l'option Standard.
  2. Pour déplacer les objets vers la classe stockage Coldline 1 095 jours après leur création, procédez comme suit :

    1. Sélectionnez l'action Passer en classe de stockage Coldline.
    2. Sélectionnez le champ d'application de la règle Le nom de l'objet correspond au suffixe.
    3. Dans le champ qui s'affiche, saisissez .jpg, puis appuyez sur Entrée. Saisissez ensuite .png, puis appuyez à nouveau sur Entrée.
    4. Sélectionnez la condition Âge, puis saisissez la valeur 1095.
    5. Sélectionnez la condition La classe de stockage correspond à, puis choisissez l'option Nearline.

Command line

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": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

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": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

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>STANDARD</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <SetStorageClass>COLDLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>1095</Age>
            <MatchesStorageClass>NEARLINE</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
</LifecycleConfiguration>

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

Supprimer la configuration du cycle de vie

Lorsque définie sur un bucket, la configuration du cycle de vie suivante désactive la gestion du cycle de vie en supprimant toutes les règles :

Console

  1. Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez supprimer des règles de cycle de vie.

  3. Cliquez sur l'onglet Cycle de vie.

  4. Cliquez sur Tout supprimer ou supprimez des règles une par une en cliquant sur l'icône Corbeille associée à la règle à supprimer.

Ligne de commande

Exécutez la commande gcloud storage buckets update avec l'option --clear-lifecycle :

gcloud storage buckets update gs://BUCKET_NAME --clear-lifecycle

BUCKET_NAME correspond au nom du bucket dont vous souhaitez supprimer la configuration du cycle de vie.

API REST

API JSON

{
  "lifecycle": {
    "rule": []
  }
}

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

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration/>

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

Étape suivante