使用 Terraform 在 s3 存储桶中创建文件夹和子文件夹

ang*_*der 8 amazon-s3 terraform

如何使用 Terraform 在 S3 存储桶中创建文件夹和子文件夹?

这就是我当前的代码的样子。

resource "aws_s3_bucket_object" "Fruits" {
  bucket = "${aws_s3_bucket.s3_bucket_name.id}"
  key    = "${var.folder_fruits}/"
  content_type = "application/x-directory"
}

variable "folder_fruits" {
  type = string
}
Run Code Online (Sandbox Code Playgroud)

我需要一个像水果/苹果这样的文件夹结构

ste*_*din 11

S3 中的文件夹只是以/字符结尾的对象。您应该能够fruits/apples/使用以下 Terraform 代码创建该文件夹:

variable "folder_fruits" {
  type = string
}

resource "aws_s3_object" "fruits" {
  bucket       = "${aws_s3_bucket.s3_bucket_name.id}"
  key          = "${var.folder_fruits}/"
  content_type = "application/x-directory"
}

resource "aws_s3_object" "apples" {
  bucket       = "${aws_s3_bucket.s3_bucket_name.id}"
  key          = "${var.folder_fruits}/apples/"
  content_type = "application/x-directory"
}
Run Code Online (Sandbox Code Playgroud)

如果没有文件夹,这可能也可以工作fruits

有关更多信息,请参阅https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html

  • 另外,上传对象之前,您不需要在存储桶中创建文件夹。在这方面,S3 的行为与文件系统不同。在幕后,对象存储在“平面结构”中。 (2认同)