如何将CloudFormation的CommaDelimitedList参数转为字符串传入Lambda环境变量
解决CloudFormation中CommaDelimitedList转字符串传入Lambda环境变量的问题
1. 将CommaDelimitedList转为逗号分隔字符串
直接使用CloudFormation的!Join内置函数,把参数对应的数组拼接成字符串,即可满足Lambda环境变量的String类型要求。模板示例片段:
Parameters: ExternalRegions: Type: CommaDelimitedList Description: 需传入的AWS地域列表 Resources: MyLambdaFunction: Type: AWS::Lambda::Function Properties: Runtime: python3.12 Handler: index.lambda_handler Code: S3Bucket: your-code-bucket S3Key: lambda-deploy-package.zip Environment: Variables: EXTERNAL_REGIONS: !Join [",", !Ref ExternalRegions]
!Ref ExternalRegions返回的是数组类型,!Join [",", ...]会将数组元素用逗号连接成单个字符串,完美适配环境变量的类型要求。
2. 替换分隔符为分号(或其他自定义符号)
只需修改!Join的第一个参数为目标分隔符即可,比如替换成分号:
Environment: Variables: EXTERNAL_REGIONS: !Join [";", !Ref ExternalRegions]
最终传入Lambda的环境变量会变成类似us-east-1;eu-west-1;ap-southeast-1的格式,完全符合需求且无需额外维护重复参数。
内容的提问来源于stack exchange,提问作者Dhwanit
相关产品推荐
相关产品推荐

