Tous les produits
Search
Centre de documentation

Object Storage Service:put-bucket-lifecycle

Dernière mise à jour :Aug 18, 2026

Créez des règles de cycle de vie basées sur la date de dernière modification ou le dernier accès pour transférer périodiquement les objets d'un bucket vers une classe de stockage spécifiée, ou supprimer les objets et les parties expirés afin de réduire les coûts de stockage. Cette rubrique explique comment utiliser la commande put-bucket-lifecycle pour définir des règles de cycle de vie pour un bucket.

Remarques

  • Pour configurer des règles de cycle de vie pour un bucket, vous devez disposer de l'autorisation oss:PutBucketLifecycle. Pour plus d'informations, consultez la section Politique RAM.

  • Si aucune configuration de cycle de vie n'est définie pour le bucket, cette commande en crée une nouvelle. Si une configuration de cycle de vie existe déjà, cette commande la remplace.

Syntaxe de la commande

ossutil api put-bucket-lifecycle --bucket value --lifecycle-configuration value [flags]

Paramètre

Type

Description

--bucket

string

Nom du bucket.

--lifecycle-configuration

string

Conteneur des règles de cycle de vie. La configuration peut contenir jusqu'à 1 000 règles.

--allow-same-action-overlap

string

Indique s'il faut autoriser les préfixes qui se chevauchent. Valeurs possibles :

  • true : Autorise les préfixes qui se chevauchent.

  • false : Empêche les préfixes qui se chevauchent.

Remarque

La commande put-bucket-lifecycle appelle l'opération API PutBucketLifecycle. Pour plus de détails sur les paramètres de l'API, consultez la section PutBucketLifecycle.

--lifecycle-configuration

L'option --lifecycle-configuration prend en charge à la fois la syntaxe XML et JSON :

  • Syntaxe XML :

    <LifecycleConfiguration>
      <Rule>
        <NoncurrentVersionExpiration>
          <NoncurrentDays>integer</NoncurrentDays>
        </NoncurrentVersionExpiration>
        <NoncurrentVersionTransition>
          <NoncurrentDays>integer</NoncurrentDays>
          <StorageClass>string</StorageClass>
          <IsAccessTime>boolean</IsAccessTime>
          <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit>
          <AllowSmallFile>boolean</AllowSmallFile>
        </NoncurrentVersionTransition>
        ...
        <ID>string</ID>
        <Prefix>string</Prefix>
        <Status>string</Status>
        <Expiration>
          <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
        </Expiration>
        <Transition>
          <IsAccessTime>boolean</IsAccessTime>
          <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit>
          <AllowSmallFile>boolean</AllowSmallFile>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
          <StorageClass>string</StorageClass>
        </Transition>
        ...
        <AbortMultipartUpload>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
        </AbortMultipartUpload>
        <Tag>
          <Key>string</Key>
          <Value>string</Value>
        </Tag>
        ...
        <Filter>
          <Not>
            <Prefix>string</Prefix>
            <Tag>
              <Key>string</Key>
              <Value>string</Value>
            </Tag>
          </Not>
        </Filter>
      </Rule>
      ...
    </LifecycleConfiguration>
  • Syntaxe JSON :

    {
      "Rule": [
        {
          "Tag": [
            {
              "Key": "string",
              "Value": "string"
            },
            ...
          ],
          "Filter": {
            "Not": {
              "Prefix": "string",
              "Tag": {
                "Key": "string",
                "Value": "string"
              }
            }
          },
          "Transition": [
            {
              "CreatedBeforeDate": "string",
              "Days": integer,
              "StorageClass": "string",
              "IsAccessTime": boolean,
              "ReturnToStdWhenVisit": boolean,
              "AllowSmallFile": boolean
            },
            ...
          ],
          "AbortMultipartUpload": {
            "CreatedBeforeDate": "string",
            "Days": integer
          },
          "NoncurrentVersionExpiration": {
            "NoncurrentDays": integer
          },
          "NoncurrentVersionTransition": [
            {
              "NoncurrentDays": integer,
              "StorageClass": "string",
              "IsAccessTime": boolean,
              "ReturnToStdWhenVisit": boolean,
              "AllowSmallFile": boolean
            },
            ...
          ],
          "ID": "string",
          "Prefix": "string",
          "Status": "string",
          "Expiration": {
            "CreatedBeforeDate": "string",
            "Days": integer,
            "ExpiredObjectDeleteMarker": boolean
          }
        },
        ...
      ]
    }
Remarque

Pour plus d'informations, consultez la section Options de ligne de commande.

Exemples

Définissez des règles de cycle de vie pour le bucket 'examplebucket'.

  • Utilisez un fichier de configuration XML. Le contenu suivant illustre celui du fichier lifecycle-configuration.xml :

    <?xml version="1.0" encoding="UTF-8"?>
    <LifecycleConfiguration>
            <Rule>
                    <ID>rule1</ID>
                            <Prefix>tmp/</Prefix>
                            <Status>Enabled</Status>
                            <Expiration>
                                    <Days>10</Days>
                            </Expiration>
                            <Transition>
                                    <Days>5</Days>
                                    <StorageClass>IA</StorageClass>
                            </Transition>
                            <AbortMultipartUpload>
                            <Days>10</Days>
                    </AbortMultipartUpload>
            </Rule>
    </LifecycleConfiguration>

    Exemple de commande :

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.xml
  • Utilisez un fichier de configuration JSON. Le contenu suivant illustre celui du fichier lifecycle-configuration.json :

    {
            "Rule": {
                    "ID": "rule1",
                    "Prefix": "tmp/",
                    "Status": "Enabled",
                    "Expiration": {
                            "Days": "10"
                    },
                    "Transition": {
                            "Days": "5",
                            "StorageClass": "IA"
                    },
                    "AbortMultipartUpload": {
                            "Days": "10"
                    }
            }
    }

    Exemple de commande :

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.json
  • Spécifiez directement la configuration dans la commande à l'aide d'une chaîne JSON :

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration "{\"Rule\":{\"ID\":\"rule1\",\"Prefix\":\"tmp/\",\"Status\":\"Enabled\",\"Expiration\":{\"Days\":\"10\"},\"Transition\":{\"Days\":\"5\",\"StorageClass\":\"IA\"},\"AbortMultipartUpload\":{\"Days\":\"10\"}}}"