You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform配置AWS Lambda传递列表类型环境变量类型不匹配报错求助

报错原因
  • AWS Lambda的环境变量仅支持字符串类型的值,不支持直接传入数组、对象等复杂数据类型。
  • 你在Terraform配置中直接把声明为list类型的变量赋值给Lambda环境变量,Terraform尝试将列表类型转换为Lambda要求的字符串时失败,因此触发类型不匹配报错。
解决方案

你可以通过Terraform内置的jsonencode函数将列表序列化为JSON字符串传入环境变量,之后在Lambda函数代码中把JSON字符串解析回列表使用即可。

修改后的lambda.tf配置

environment {
  variables = {
    DB_NAME_LIST = jsonencode(var.db_name_list)
    ENV_LIST     = jsonencode(var.env_list)
  }
}

Lambda代码中解析示例(以Python为例)

import os
import json

# 读取环境变量并解析为列表
env_list = json.loads(os.environ.get("ENV_LIST", "[]"))
db_name_list = json.loads(os.environ.get("DB_NAME_LIST", "[]"))

如果使用其他开发语言,调用对应语言的JSON反序列化方法处理环境变量字符串即可。

内容的提问来源于stack exchange,提问作者devdude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:06:04