管理对象生命周期

本页面介绍了如何启用对象生命周期管理并提供了生命周期政策的示例。有关此功能的说明(包括它支持的操作和条件),请参阅对象生命周期管理

在存储分区上设置生命周期管理

启用生命周期管理

要为存储分区启用生命周期管理,请执行以下操作:

控制台

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 在存储分区列表中,找到要启用此功能的存储分区,然后在生命周期列中点击无。

    随即将显示生命周期规则页面。

  3. 点击添加规则

  4. 在出现的页面中,指定一个配置。

    1. 选择执行操作的条件。

    2. 点击继续

    3. 选择对象满足条件时要执行的操作。

    4. 点击继续

    5. 点击保存

gsutil

  1. 使用您要应用的生命周期配置规则创建一个 .json 文件(请参阅示例)。

  2. 使用 lifecycle set 命令应用配置:

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

    其中:

    • [LIFECYCLE_CONFIG_FILE] 是您在第 1 步中创建的文件的名称。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用您要应用的生命周期配置规则创建一个 .json 文件(请参阅示例)。

  3. 使用 cURL,通过 PATCH Bucket 请求调用 JSON API

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

    其中:

    • [LIFECYCLE_CONFIG_FILE] 是您在第 2 步中创建的文件的名称。
    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用您要应用的生命周期配置规则创建一个 .xml 文件(请参阅示例)。

  3. 使用 cURL,通过 PUT Bucket 请求调用 XML API

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

    其中:

    • [XML_FILE] 是您在第 2 步中创建的文件的名称。
    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

停用生命周期管理

要为存储分区停用生命周期管理,请执行以下操作:

控制台

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 在存储分区列表中,找到要停用此功能的存储分区,然后在生命周期列中点击已启用。

    随即将显示生命周期规则页面。

  3. 点击全部删除

  4. 在出现的确认窗口中,点击删除

gsutil

  1. 创建具有空的生命周期配置的 .json 文件:

    {}
  2. 使用 lifecycle set 命令:

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

    其中:

    • [LIFECYCLE_CONFIG_FILE] 是您在第 1 步中创建的文件的名称。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建具有空的生命周期配置的 .json 文件:

    {}
  3. 使用 cURL,通过 PATCH Bucket 请求调用 JSON API

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

    其中:

    • [LIFECYCLE_CONFIG_FILE] 是您在第 2 步中创建的文件的名称。
    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 创建具有空的生命周期配置的 .xml 文件:

    <LifecycleConfiguration/>
  3. 使用 cURL,通过 PUT Bucket 请求调用 XML API

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

    其中:

    • [XML_FILE] 是您在第 2 步中创建的文件的名称。
    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

检查生命周期配置

要检查存储分区上设置的生命周期配置,请执行以下操作:

控制台

  1. 在 Google Cloud Platform Console 中打开 Cloud Storage 浏览器。
    打开 Cloud Storage 浏览器
  2. 在存储分区列表中,您可以在生命周期列中看到每个存储分区的生命周期状态。

    您可以点击此状态以添加、查看、修改和删除规则。

gsutil

  1. 使用 lifecycle get 命令:

    gsutil lifecycle get gs://[BUCKET_NAME]

    其中 [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

REST API

JSON API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用 cURL,通过 GET Bucket 请求调用 JSON API

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

    其中:

    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

XML API

  1. OAuth 2.0 Playground 获取授权访问令牌。将 Playground 配置为使用您自己的 OAuth 凭据。
  2. 使用 cURL,通过 GET Bucket 请求调用 XML API

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

    其中:

    • [OAUTH2_TOKEN] 是您在第 1 步中生成的访问令牌。
    • [BUCKET_NAME] 是相关存储分区的名称,例如 my-bucket

对象生命周期配置示例

以下示例显示了特定的生命周期配置,该配置可在满足通用条件时删除对象和更改对象的存储类别。如需查看关于生命周期配置的详细讨论(包括可用的操作和条件的列表),请参阅对象生命周期管理

删除对象

以下生命周期配置定义了两个规则。

  1. 删除存在时间超过 30 天的活动对象。
  2. 删除存在时间超过 10 天的归档对象。请注意,只有在您已启用或以前启用过对象版本控制的存储分区中才能满足此规则。

控制台

以下规则可删除存在时间超过 30 天的活动对象:

删除存在时间超过 30 天的活动对象。

以下规则可删除存在时间超过 10 天的归档对象:

删除存在时间超过 10 天的归档对象。

gsutil

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

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

如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储分区资源表示法

REST API

JSON API

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

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

如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储分区资源表示法

XML API

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

<?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>

如需了解生命周期配置文件的通用格式,请参阅适用于 XML 的生命周期配置格式

更改对象的存储类别

以下生命周期配置定义了两个规则。

  1. 如果对象的存在时间超过 365 天(一年)且其当前存储类别为 Standard 存储空间、Multi-Regional 存储空间或 Durable Reduced Availability (DRA) 存储空间,则将该对象的存储类别更改为 Nearline 存储空间。
  2. 如果对象的存在时间超过 1095 天(三年)且其当前存储类别为 Nearline 存储空间,则将该对象的存储类别更改为 Coldline 存储空间。

控制台

以下规则会在 365 天后将对象的存储类别更改为 Nearline 存储空间:

在 365 天后将对象的存储类别设置为 Nearline 存储空间。

以下规则会在 1095 天后将对象的存储类别更改为 Coldline 存储空间:

在 1095 天后将对象的存储类别设置为 Coldline 存储空间。

gsutil

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

{
"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"]
    }
  }
]
}
}

如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储分区资源表示法

REST API

JSON API

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

{
"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"]
    }
  }
]
}
}

如需了解生命周期配置文件的通用格式,请参阅适用于 JSON 的存储分区资源表示法

XML API

通过启用生命周期管理,可以将以下生命周期配置应用于存储分区。

<?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>

如需了解生命周期配置文件的通用格式,请参阅适用于 XML 的生命周期配置格式

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面