繁体   English   中英

如何在 Cloudformation 模板条件中使用 AWS SSM 参数存储值?

[英]How to use AWS SSM parameter store values in Cloudformation template conditionals?

我已在 AWS SSM 参数存储 UI 中将键值对配置为my-ssm-key = ssm-value

我有以下基于无服务器构建的 CF YAML 模板:

service: redirect-test

provider:
  name: aws
  runtime: python3.8

  environment:
    ssm_value: '{{resolve:ssm:my-ssm-key:1}}'
    ssm_value_is_correct: !If [SSM_KEY_IS_CORRECT, yes, no]

functions:
  hello:
    handler: handler.hello

resources:
  Conditions:
    SSM_KEY_IS_CORRECT:
      !Equals
        - '{{resolve:ssm:my-ssm-key:1}}'
        - 'ssm-value'

在部署堆栈时,环境变量被设置为ssm_value = ssm-valuessm_value_is_correct = no

为什么条件语句解析为“否”而不是“是”? 在条件中使用 SSM 参数存储值的正确方法是什么?

参数存储截图: SSM 参数存储截图 环境变量截图: 环境变量截图

我能够通过使用这个 CF 模板解决这个问题:

service: redirect-test

provider:
  name: aws
  runtime: python3.8

  environment:
    ssm_value: !Ref MySSMValue
    ssm_value_is_correct: !If [SSM_KEY_IS_CORRECT, yes, no]

functions:
  hello:
    handler: handler.hello

resources:
  Conditions:
    SSM_KEY_IS_CORRECT:
      !Equals
        - !Ref MySSMValue
        - ssm-value

  Parameters:
    MySSMValue:
      Description: My SSM Value
      Type: AWS::SSM::Parameter::Value<String>
      Default: my-ssm-key

具有正确预期值的环境变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM