如何通过Serverless使用内置函数获取AWS SSM StringList参数的首个子网ID
解决AWS CloudFormation获取SSM StringList参数第一个元素的问题
你遇到的错误是因为StringList类型的SSM参数被引用后本身就是列表结构,不需要用!Split拆分。你的代码错误地将其当作逗号分隔的字符串处理,而!Split要求第二个参数必须是字符串,因此触发报错。
正确的两种实现方式:
- 方法一:使用
!GetParameter函数直接获取列表,再用!Select选取第一个元素
SubnetId: !Select [0, !GetParameter ['/subnet-ids']]
- 方法二:使用动态引用(无需拆分,直接对列表做
!Select操作)
SubnetId: !Select [0, ${ssm:/subnet-ids}]
这两种方式都能直接获取StringList参数的第一个子网ID,无需额外拆分步骤。
内容的提问来源于stack exchange,提问作者Dcook
相关产品推荐
相关产品推荐

