Str*_*rry 11 aws-lambda terraform terraform-provider-aws
我希望我的 lambda 调用 API,这需要一个 API 令牌。我想将 API 令牌放入 lambda 环境变量中。我怎样才能让 terraform 做到这一点?还是我以错误的方式接近这个?
这里的文档给出了一个很好的例子。基本上它是一个environment带variables块的块。然后你想要的任何键值对。假设您使用的是 nodejs,则可以通过执行process.env.api_key. 这些值将以纯文本形式存储在您的 terraform 代码以及 terraform 状态文件中。 AWS 对环境变量进行加密,但您确实需要关心这些值是如何到达那里的。如果您对它们存储在 git 中以及用于状态文件的任何存储感到不舒服,那么您可以通过控制台手动添加它们。
resource "aws_lambda_function" "test_lambda" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
runtime = "nodejs8.10"
...
environment {
variables = {
api_key = "super_secret"
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以使用 aws Secret Manager 来存储您的数据。更多信息。要在您的 terraform 中使用它们,请按照以下步骤操作:
${jsondecode(data.aws_secretsmanager_secret_version.secrets.secret_string)["YOUR_KEY"]}
| 归档时间: |
|
| 查看次数: |
13540 次 |
| 最近记录: |