由于 aws_s3_bucket_object 已弃用,我是否应该仅使用 aws_s3_bucket 上传文件?

PGT*_*PGT 4 amazon-s3 amazon-web-services terraform

页面上有一条注释aws_s3_bucket_object说它已被弃用并可以使用aws_s3_bucket

aws_s3_bucket_object 资源已弃用,并将在未来版本中删除!请改用 aws_s3_object,其中将添加新功能和修复。在配置中将 aws_s3_bucket_object 替换为 aws_s3_object 时,在下次应用时,Terraform 将重新创建该对象。如果您不想让 Terraform 重新创建对象,请使用 aws_s3_object 导入对象。

当我转到该aws_s3_bucket页面时,没有如何上传文件的示例,只有如何创建存储桶。网上的一些文章也指出使用aws_s3_bucket创建存储桶但仍然使用aws_s3_bucket_object上传文件,这仍然是正确的做法吗?

Erv*_*gyi 10

如果您查看 的文档aws_s3_object并将其与较旧的文档进行比较aws_s3_bucket_object,您会发现它们非常相似。如果您正在使用 Terraform 的一些在线教程,切换aws_s3_bucket_objectaws_s3_object代码中可能不会出现重大问题。

显然,如果您已经应用了计划并决定切换aws_s3_bucket_objectaws_s3_object. 在这种情况下,您需要将对象导入到当前状态。

目前最新的 AWS 提供商是 4.9.0,它标记aws_s3_bucket_object为已弃用,但并未删除。只要您不打算升级提供程序,您的代码就可以工作。如果您想让您的代码面向未来,您将需要使用aws_s3_object.