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

如何通过Terraform将对象上传至GCS存储桶的子目录?

如何用Terraform将对象上传到Google Cloud Storage桶的子目录

完全可行。Google Cloud Storage(GCS)并没有真正的物理目录结构,所谓的“子目录”是通过给对象名称添加斜杠分隔的前缀来模拟实现的。你只需要在google_storage_bucket_object资源的name参数中包含完整的路径前缀即可。

修改你的示例代码如下:

resource "google_storage_bucket_object" "picture" {
  name   = "insects/butterfly01" # 加入子目录前缀
  source = "/images/nature/garden-tiger-moth.jpg"
  bucket = "image-store"
}

上传完成后,在GCS控制台中该对象会显示在insects“目录”下,实际上这个对象的完整标识是image-store/insects/butterfly01,GCS通过解析对象名称中的斜杠来提供类目录的展示体验。

如果需要批量上传多个文件到同一子目录,可以结合for_each来简化配置:

variable "insect_images" {
  type = map(string)
  default = {
    "garden-tiger-moth" = "/images/nature/garden-tiger-moth.jpg"
    "monarch-butterfly" = "/images/nature/monarch.jpg"
  }
}

resource "google_storage_bucket_object" "insect_photos" {
  for_each = var.insect_images
  name     = "insects/${each.key}"
  source   = each.value
  bucket   = "image-store"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:51:27