如何使用 CLI 设置 Google 云存储桶 (GCS) 文件对象过期 (TTL)

问题描述 投票:0回答:1

我想为新的 GCS 存储桶设置策略,以便文件在 14 天后过期(TTL、生存时间或生命周期结束)。

我用

gsutil mb \
  -p ${GCP_PROJECT_ID} \
    gs://$GCS_BUCKET_NAME \
  --retention 14d

这不起作用。这是为什么?

google-cloud-storage gcloud
1个回答
5
投票

在更仔细地阅读GCS存储桶TTL和保留策略后,我发现我误解了

--retention
标志的意图。

保留策略

--retention
是控制存储桶中的对象必须保留多长时间,而不是何时过期或删除。 https://cloud.google.com/storage/docs/bucket-lock

例如,

--retention 14d
表示该对象在14天内不允许删除。这并不意味着对象有 14 天的生命周期,并且会在 14 天后过期并被删除。

如果我们想为 GCS 存储桶正确设置文件异议过期或 TTL,请执行以下操作

 # set GCS bucket object TTL
  echo '    
  {
      "rule":
      [
        {
          "action": {"type": "Delete"},
          "condition": {"age": 14}
        }
      ]
    }
  ' > gcs_lifecycle.tmp
  gsutil lifecycle set gcs_lifecycle.tmp gs://$GCS_BUCKET_NAME
  rm gcs_lifecycle.tmp
© www.soinside.com 2019 - 2024. All rights reserved.