繁体   English   中英

Python 脚本使用 terraform 中的环境变量

[英]Python script to use environment variables in terraform

所以我最近开始使用 terraform 和 aws,但我找不到解决问题的方法。 我想将 python 脚本文件上传到 AWS 中的存储桶,一切都很好。 我正在使用 terraform 提供的代码:

resource "aws_s3_bucket_object" "object" {
  bucket = "your_bucket_name"
  key    = "new_object_key"
  source = "path/to/file"

  # The filemd5() function is available in Terraform 0.11.12 and later
  # For Terraform 0.11.11 and earlier, use the md5() function and the file() function:
  # etag = "${md5(file("path/to/file"))}"
  etag = filemd5("path/to/file")
}

但我的问题是我的脚本中有一些值,我想使用环境变量而不是直接值。 我知道它可以为 lambda function 资源完成,但是存储桶文件上传呢? 我怎样才能做到这一点?

Lambda function 实际执行您的代码,因此它可以使用环境变量。 上传到s3 存储桶不会运行您的脚本,因此它可以实时使用环境变量。

您必须为此创建自己的自定义解决方案,这需要您在本地工作站上对文件进行预处理,然后再将它们上传到 S3。 预处理可以是简单的查找和替换,以根据您的环境变量替换值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM