我正在使用 Terraform 来管理我们应用程序的 AWS 环境。环境有用于各种事物的 s3 存储桶。在设置新环境时,我只想从基本源存储桶或现有环境中复制存储桶。
但我找不到任何可以提供副本的东西。 AWS 接口(interface)允许您在创建时复制设置(我不需要),但不能复制对象,因此这可能不是 terraform 可以直接执行的操作。
如果是这样,间接怎么样?
最佳答案
没有资源可以将对象从一个 S3 存储桶复制到另一个存储桶。如果你想在你的 Terraform 设置中包含它,那么你需要使用 local-exec提供者。
需要执行下面的命令,支持AWS CLI才能运行aws s3 cp
。
resource "null_resource" "s3_objects" {
provisioner "local-exec" {
command = "aws s3 cp s3://bucket1 s3://bucket2 --recursive"
}
}
为此运行本地服务器需要有 AWS CLI installed具有角色(或有效凭据)以启用副本。
https://stackoverflow.com/questions/62801569/
相关文章:
oracle - 基于字符和数字的 PL/SQL Regex 搜索
common-lisp - 如何在普通的 lisp 中创建一个位数组?
apache-spark - 我可以获取 Spark 读取的文件的元数据吗
python - 将 Pandas 数据框字符串拆分为单独的行
python - 在 django urls.py 中访问请求对象
python - 如何使用 gspread 在 google 工作表单元格中插入任何超链接
python - 我怎样才能遍历这个字典而不是对键进行硬编码
android - CameraX - 在纵向模式下锁定 Activity 时仅旋转预览