【发布时间】:2019-09-30 02:43:44
【问题描述】:
我需要将一个文件夹上传到 S3 Bucket。但是当我第一次申请时。它只是上传。但是我这里有两个问题:
- 上传的版本输出为空。我希望有一些 version_id,例如 1、2、3
- 当再次运行
terraform apply时,它显示Apply complete! Resources: 0 added, 0 changed, 0 destroyed。我希望在运行terraform apply并创建新版本时一直上传。
我做错了什么?这是我的 Terraform 配置:
resource "aws_s3_bucket" "my_bucket" {
bucket = "my_bucket_name"
versioning {
enabled = true
}
}
resource "aws_s3_bucket_object" "file_upload" {
bucket = "my_bucket"
key = "my_bucket_key"
source = "my_files.zip"
}
output "my_bucket_file_version" {
value = "${aws_s3_bucket_object.file_upload.version_id}"
}
【问题讨论】:
-
我不确定,但如果可能的话,你可以尝试使用这个:terraform.io/docs/providers/archive/d/archive_file.html 来生成 zip 文件。只需检查 terraform 是否将此新 zip 文件识别为已更改文件,然后使用新版本 id 再次上传新 zip 文件(包含相同内容)。
-
该行为与未在存储桶上启用版本控制一致。你能检查一下是不是真的吗?
标签: amazon-web-services amazon-s3 terraform terraform-provider-aws