Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何使用terraform访问本地计算机上的目录以上载到s3_Amazon Web Services_Amazon S3_Terraform_Cloud_Devops - Fatal编程技术网

Amazon web services 如何使用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的新手,我想知道terraform是否有办法访问存储在本地计算机(例如下载文件夹)中的目录,以便上传到s3

如果不是的话,最好的办法是什么。如果能在这方面得到任何帮助,我将不胜感激


谢谢

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如果答案有效,应该接受。