Terraform为Lambda Kafka事件源循环创建source_access_configuration报错求助
解决Lambda事件源映射子网配置的for_each报错问题
问题出在Terraform的嵌套块不支持直接使用for_each,你需要用**动态嵌套块(dynamic block)**来实现遍历子网列表生成多个source_access_configuration项。
替换成以下代码即可:
dynamic "source_access_configuration" { for_each = toset(var.external_subnets) content { type = "VPC_SUBNET" uri = "subnet:${source_access_configuration.value}" } }
关键说明:
- 使用
dynamic "source_access_configuration"声明动态块,名称要和目标嵌套块完全一致 for_each = toset(var.external_subnets)将子网列表转为集合(避免重复值导致的问题),遍历每个子网- 在
content块内编写原有的配置逻辑,通过source_access_configuration.value引用当前遍历到的子网ID - 这样会根据
var.external_subnets的长度自动生成对应数量的VPC子网配置项
内容的提问来源于stack exchange,提问作者user007
相关产品推荐
相关产品推荐

