Amazon web services 如何使用terraform访问本地计算机上的目录以上载到s3
我是terraform的新手,我想知道terraform是否有办法访问存储在本地计算机(例如下载文件夹)中的目录,以便上传到s3 如果不是的话,最好的办法是什么。如果能在这方面得到任何帮助,我将不胜感激Amazon web services 如何使用terraform访问本地计算机上的目录以上载到s3,amazon-web-services,amazon-s3,terraform,cloud,devops,Amazon Web Services,Amazon S3,Terraform,Cloud,Devops,我是terraform的新手,我想知道terraform是否有办法访问存储在本地计算机(例如下载文件夹)中的目录,以便上传到s3 如果不是的话,最好的办法是什么。如果能在这方面得到任何帮助,我将不胜感激 谢谢Terraform提供了path.root,它将获得脚本的根路径。您可以将路径合并到根路径并上载文件 resource "aws_s3_bucket_object" "object" { bucket = aws_s3_bucket.b1.id #
谢谢Terraform提供了
path.root
,它将获得脚本的根路径。您可以将路径合并到根路径并上载文件
resource "aws_s3_bucket_object" "object" {
bucket = aws_s3_bucket.b1.id # bucket
key = "profile"
acl = "private" # or can be "public-read"
source = "${abspath(path.root)/../Downloads}" # ubuntu
etag = filemd5("myfiles/yourfile.txt")
}
谢谢你的回答。这似乎是一个愚蠢的问题,但我在文件路径“对资源类型的引用必须后跟至少一个属性访问,指定资源名称”
resource“aws\u s3\u bucket\u object”“object”{bucket=aws\u s3\u bucket.terraform\u bucket.id key=“key name”source=“${abspath(path.root)/Users/username/Downloads}“etag=filemd5(“Users/username/Downloads/file name.zip”)}
terraform的问题在于它可以识别自己的路径&path.root
给出terraform运行的路径。因此,如果您的terraform脚本也位于Downloads/terraform
,那么您的路径将是${abspath(path.root)/../file name.zip
,如果它位于Users/username/terraform
,那么您的路径将是${abspath(path.root)/../Downloads/file-name.zip>@user16007126如果答案有效,应该接受。