You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中为GCS存储桶的单个文件夹配置生命周期规则?

解决方案:用Terraform原生GCS生命周期规则实现文件夹级策略

不用依赖local-exec,Terraform的google_storage_bucket资源本身支持为**特定前缀(文件夹)**配置独立的生命周期规则,完全满足你的需求。

示例代码

resource "google_storage_bucket" "example_bucket" {
  name          = "your-unique-bucket-name"
  location      = "US"
  storage_class = "STANDARD"

  # 为folder1配置:创建7天后自动删除
  lifecycle_rule {
    action {
      type = "Delete"
    }
    condition {
      age                   = 7
      matches_prefix        = ["folder1/"] # 必须以/结尾,精准匹配该文件夹下所有对象
      matches_storage_class = ["STANDARD"]
    }
  }

  # 为folder2配置:创建30天后自动删除
  lifecycle_rule {
    action {
      type = "Delete"
    }
    condition {
      age                   = 30
      matches_prefix        = ["folder2/"]
      matches_storage_class = ["STANDARD"]
    }
  }
}

关键说明

  • prefix匹配逻辑:GCS的“文件夹”本质是对象前缀,matches_prefix = ["folder1/"]会精准匹配所有路径以folder1/开头的对象,也就是该文件夹下的所有内容(包括子文件夹)。如果不加末尾的/,会匹配所有以folder1开头的对象(比如folder1-file.txt),务必注意格式。
  • 多规则隔离:每个lifecycle_rule块对应一套独立策略,不同规则互不干扰,你可以给任意数量的文件夹配置不同的删除天数。
  • 替代local-exec:这是Terraform管理GCS资源的原生方案,符合基础设施即代码的最佳实践,比local-exec更可靠、易维护。

额外注意事项

  • 存储桶名称需在GCS中全局唯一
  • 若需排除子文件夹,可结合matches_suffix或添加额外规则调整
  • 规则生效后,GCS会自动后台扫描并执行删除动作,无需手动干预

内容的提问来源于stack exchange,提问作者gamengineers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:57:28