我在AWS SSM参数存储UI中配置了一个键值对,键是my-ssm-key
,值是ssm-value
。
我有以下用于基于Serverless构建的CloudFormation的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-value
和 ssm_value_is_correct
= no
。
条件语句为什么会解析为“no”而不是“yes”?使用 SSM 参数存储值的正确方法是什么?
SSM_KEY_IS_CORRECT
也设置为环境变量,这样您就可以看到它是如何解决的了? - Arun Kamalanathanfoo: SSM_KEY_IS_CORRECT
,但在这种情况下,SSM_KEY_IS_CORRECT
只被视为字符串而不是变量。因此环境变量只是"SSM_KEY_IS_CORRECT"
。 - rohithpr