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

如何用CloudFormation判断SSM参数是否存在并配置Lambda环境变量

Lambda环境变量:SSM参数存在时取值,不存在用默认值"None"

需求:原本通过SecretFeature: "{{resolve:ssm:SecretFeature}}"将SSM参数"SecretFeature"的值作为Lambda环境变量,但部分部署场景下该SSM参数可能未配置,需要实现**参数存在时使用其值,不存在则用默认值"None"**的逻辑。

完整CloudFormation配置

Conditions:
  # 判断SSM参数SecretFeature是否存在
  SSMParameterExists:
    Fn::Not:
      - Fn::Equals:
          - "{{resolve:ssm:SecretFeature:null}}"
          - ""

Resources:
  MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: MyLambda
      Runtime: python3.8
      Handler: index.handler
      # 请自行补充代码包、执行角色等必要配置
      Environment:
        Variables:
          SecretFeature:
            Fn::If:
              - SSMParameterExists
              - "{{resolve:ssm:SecretFeature}}"
              - "None"

关键逻辑说明

  • 条件判断:SSMParameterExists通过{{resolve:ssm:SecretFeature:null}}尝试读取参数,若参数不存在则返回空字符串,通过Fn::Not+Fn::Equals组合判断结果是否为空,以此确认参数是否存在。
  • 环境变量赋值:使用Fn::If条件分支,当参数存在时读取SSM参数值;参数不存在时,直接使用默认值"None"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:32:07