Définir le cycle de vie du bucket

Par défaut, la gestion du cycle de vie n'est pas activée pour les buckets. Pour définir ou modifier la configuration du cycle de vie d'un bucket existant, exécutez une requête PUT limitée au bucket et utilisez le paramètre de chaîne de requête lifecycle. Vous devez inclure un document XML dans le corps de la requête contenant la configuration du cycle de vie. Notez que vous ne pouvez pas définir de configuration de cycle de vie pour un bucket que vous créez.

Vous devez disposer de l'autorisation FULL_CONTROL pour définir ou modifier la configuration du cycle de vie d'un bucket existant. Vous devez également vous authentifier pour utiliser la méthode PUT Bucket.

Paramètres de la chaîne de requête

Paramètre Description Requis
lifecycle Il permet d'ajouter ou de modifier la configuration du cycle de vie sur un bucket existant. Vous devez fournir le document LifecycleConfiguration dans le corps de la requête. Non

Pour en savoir plus sur les paramètres à inclure lors de la création et de l'utilisation d'URL signées, consultez la section Paramètres des chaînes de requête d'URL signée.

En-têtes de requête

Voir les en-têtes de requêtes courants.

Éléments du corps de la requête

Les éléments de corps de requête suivants ne s'appliquent que si vous utilisez le paramètre de chaîne de requête lifecycle pour spécifier la configuration de cycle de vie pour un bucket existant.

Élément Description
LifecycleConfiguration Définit les règles de gestion du cycle de vie du bucket, qui contiennent 0 ou plusieurs règles (jusqu'à 100). Utilisez un élément vide (par exemple, <LifecycleConfiguration/>) pour désactiver la gestion du cycle de vie du bucket.
Rule Définit une règle de gestion du cycle de vie, composée d'une action et des conditions devant être remplies pour que l'action se produise.
Action Définit l'action à exécuter. Doit contenir un seul élément d'action.
Delete Élément permettant de supprimer des objets du bucket.
SetStorageClass Élément permettant de modifier la classe de stockage des objets du bucket.
Condition Conditions devant être remplies pour que l'action se produise. Une règle doit contenir au moins un élément de condition.
Age Élément de condition qui correspond aux objets sur l'âge spécifié (en jours).
CreatedBefore Élément de condition qui correspond aux objets créés avant minuit à la date spécifiée au format UTC. La valeur est une chaîne de date ISO sans fuseau horaire, par exemple 2019-01-15.
CustomTimeBefore Élément de condition qui correspond aux objets dont les métadonnées Custom-Time contiennent une date antérieure à la date définie par cette condition. CustomTimeBefore est une chaîne de date ISO sans fuseau horaire, par exemple 2020-02-25.
DaysSinceCustomTime Élément de condition qui correspond aux objets dont les métadonnées Custom-Time datent de plus de DaysSinceCustomTime jours.
DaysSinceNoncurrentTime Élément de condition pertinent uniquement pour les objets avec versions gérées. Recherche les objets qui sont restés inactifs pendant une période supérieure au nombre de jours spécifié.
IsLive L'élément de condition n'est généralement utilisé qu'avec la gestion des versions d'objets. Lorsque la valeur est false, cette condition est remplie pour toute version obsolète d'un objet. Lorsque la valeur est true, cette condition est remplie pour la version active d'un objet. Si vous n'utilisez pas la gestion des versions d'objets, tous vos objets sont considérés comme actifs et correspondent à IsLive lorsque la valeur de true est définie.
MatchesStorageClass Élément de condition qui correspond aux objets de la classe de stockage spécifiée. Cette condition peut être ajoutée plusieurs fois à la même règle pour couvrir plusieurs classes de stockage.
NoncurrentTimeBefore Élément de condition pertinent uniquement pour les objets avec versions gérées. Recherche les objets qui sont obsolètes à une date antérieure à la date spécifiée dans cette condition. NoncurrentTimeBefore est une chaîne de date ISO sans fuseau horaire, par exemple 2020-02-25.
NumberOfNewerVersions Élément de condition pertinent uniquement pour les objets avec versions gérées. Si la valeur est N, la condition est satisfaite lorsqu'il existe au moins N versions (y compris la version en ligne) plus récentes que celle de l'objet.

Syntaxe des requêtes

PUT /?lifecycle HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE_OF_THE_BODY
Authorization: AUTHENTICATION_STRING

XML_DOCUMENT_DEFINING_LIFECYCLE_CONFIGURATION

En-têtes de réponse

La requête peut renvoyer divers en-têtes de réponse en fonction des en-têtes de requête que vous utilisez.

Éléments du corps de la réponse

La réponse n'inclut pas de document XML dans le corps de la réponse.

Exemple

L'exemple suivant permet de gérer le cycle de vie d'un bucket nommé example.com. Pour plus d'exemples, consultez la page Gérer les cycles de vie.

Requête

PUT /example.com?lifecycle HTTP/1.1
Host: storage.googleapis.com
Content-Length: 220
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

<?xml version="1.0" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <Age>30</Age>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Réponse

HTTP/1.1 200 OK
Date: Mon, 07 Jan 2019 03:38:42 GMT
Expires: Mon, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Content-Length: 0
Content-Type: text/html