doc*_*oob 3 amazon-s3 terraform terraform-provider-aws
我正在尝试将文件从s3存储桶下载到我正在运行的服务器terraform,这可能吗?我尝试了下面的代码
data "aws_s3_bucket_objects" "my_objects" {
bucket = "examplebucket"
}
data "aws_s3_bucket_object" "object_info" {
key = "${element(data.aws_s3_bucket_objects.my_objects.keys, count.index)}"
bucket = "${data.aws_s3_bucket_objects.my_objects.bucket}"
}
provisioner "local-exec" {
content = "${data.aws_s3_bucket_object.object_info.body}"
}
Run Code Online (Sandbox Code Playgroud)
当我运行时terraform plan出现以下错误
Error: Unsupported block type
on s3.tf line 11:
11: provisioner "local-exec" {
Blocks of type "provisioner" are not expected here.
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?对此的任何帮助将不胜感激。
只需使用local 提供商
data "aws_s3_bucket_objects" "my_objects" {
bucket = "examplebucket"
//prefix = "your_prefix"
}
data "aws_s3_bucket_object" "object_info" {
count = "${length(data.aws_s3_bucket_objects.my_objects.keys)}"
key = "${element(data.aws_s3_bucket_objects.my_objects.keys, count.index)}"
bucket = "${data.aws_s3_bucket_objects.my_objects.bucket}"
}
resource "local_file" "foo" {
count = "${length(data.aws_s3_bucket_objects.my_objects.keys)}"
content = "${data.aws_s3_bucket_object.object_info[count.index].body}"
filename = "/path/to/file-${count.index}"
}
Run Code Online (Sandbox Code Playgroud)
PS:确保您的对象具有人类可读的Content-Type,该body字段仅适用于此类对象。
| 归档时间: |
|
| 查看次数: |
8724 次 |
| 最近记录: |