gpt4 book ai didi

amazon-s3 - 在本地使用 terraform 从 S3 下载文件

转载 作者:行者123 更新时间:2023-12-05 02:07:41 29 4
gpt4 key购买 nike

我正在尝试将文件从 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}"
}

当我运行 terraform plan 时出现以下错误

Error: Unsupported block type

on s3.tf line 11:
11: provisioner "local-exec" {

Blocks of type "provisioner" are not expected here.

我在这里遗漏了什么吗?如有任何帮助,我们将不胜感激。

最佳答案

只需使用本地 provider

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}"
}

PS:确保你的对象有一个 human-readable Content-Type , body 字段仅适用于此类对象。

关于amazon-s3 - 在本地使用 terraform 从 S3 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61527177/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com