使用Terraform将对象上传到GCS bucket中的子目录


resource "google_storage_bucket_object" "picture" {
name   = "butterfly01"
source = "/images/nature/garden-tiger-moth.jpg"
bucket = "image-store"
}

我在Terraform文档中发现的是将一个对象上传到一个bucket中。但是,如果我们想将对象上传到Bucket中的子目录,我看不到任何文档。这可能吗?如有任何帮助,我们将不胜感激。谢谢

在谷歌云存储中,目录不存在:您看到的斜杠是对象名称的一部分,而不是文件夹的目录。事实上,您不能在gcs存储桶中创建空文件夹。

如果您想将文件写入gs://image-store/some/arbitrary/path/butterfly01,只需在对象名称中添加斜杠,如下所示:

# Writes to gs://image-store/some/arbitrary/path/butterfly01
resource "google_storage_bucket_object" "picture" {
name   = "some/arbitrary/path/butterfly01"
source = "/images/nature/garden-tiger-moth.jpg"
bucket = "image-store"
}

在GCS中,通常每个目的都有一个存储桶,而不是一个文件夹,除非你需要将数据分区到一个文件夹中供Spark、Presto等使用。

最新更新