python - Terraform 抱怨 lambda 中使用了列表
问题描述
我有一个 lambda,我在其中传递一个列表以从中获取属性。列表 ENV_LIST 有超过 1 个元素。当我尝试运行一个 terraform 计划时,它似乎在抱怨变量 ENV_LIST。我已将它指定为我的 variables.tf 文件中的一个列表,并在我的 lamnda.tf 中引用它,但它仍然在抱怨。
Error: aws_lambda_function.lambda_function: environment.0.variables (ENV_LIST): '' expected type 'string', got unconvertible type '[]interface {}'
λ.tf
environment {
variables = {
DB_NAME_LIST = "${var.db_name_list}"
ENV_LIST = "${var.env_list}"
}
}
变量.tf
variable "db_name_list" {
type = "list"
}
variable "env_list" {
type = "list"
}
解决方案
variable "db_names" {
type = list(string)
description = "db_names"
}
resource "aws_lambda_function" "function" {
function_name = "${var.name_prefix}-function${local.name_suffix}"
description = "Function"
filename = var.filename
source_code_hash = var.source_code_hash
runtime = "nodejs14.x"
handler = "index.handler"
timeout = var.timeout
memory_size = var.memory_size
role = var.lambda_role_arn
environment {
variables = {
DB_NAMES = join(",", var.db_names)
}
}
}
推荐阅读
- c# - Visual Studio 2017 中命令行命名空间面临的问题
- grails - 如何在运行时在 grails 3 应用程序中将图像保存在资产文件夹中?
- php - php和mysql过滤器
- javascript - 未处理的拒绝 (SyntaxError):输入意外结束
- google-maps - 谷歌地理编码 API: 'administrative_area:in|country:US' 未找到
- mysql-workbench - 如何在 MySQLWorkbench 中显示二进制日志记录
- r - ggplot 无法用不同的数据参数绘制不同的线?
- typescript - 如何使用 TypeScript 将大对象映射到较小的界面?
- mysql - 试图获取所有已售出的产品,但我只得到一排
- c++ - 为什么这是使用指向 c++ 的输出