terraform 可以复制 s3 存储桶的内容吗?

Jac*_*ome 1 amazon-s3 amazon-web-services terraform

我正在使用 terraform 来管理我们应用程序的 aws 环境。环境有用于各种事物的 s3 存储桶。在设置新环境时,我只想从基本源存储桶或现有环境中复制存储桶。

但我找不到任何可以提供副本的内容。AWS 界面允许您在创建时复制设置(我不需要),但不能复制对象,因此 terraform 可能无法直接执行此操作。

如果是的话,间接的怎么样?

Chr*_*ams 6

没有任何资源可以将对象从一个 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"
  }
}
Run Code Online (Sandbox Code Playgroud)

为此,本地服务器需要安装AWS CLI并使用角色(或有效凭证)来启用副本。