aws cloudformation 中的映射。Fn::FindInMap 对象需要三个参数

Rud*_*koŭ 2 yaml amazon-web-services aws-cloudformation

我有映射部分:

Mappings:
  ScheduledPeriodMap:
    Development:
      "Expression": "cron(0 12 30 2 ? *)"
    Production:
      "Expression": "rate(1 minute)"
Run Code Online (Sandbox Code Playgroud)

后来我使用它:

Events:
  ScheduleMyLambda:
    Type: Schedule
    Properties:
      Schedule: !FindInMap [ScheduledPeriodMap, !Sub "${Environment}", "Expression"]
Run Code Online (Sandbox Code Playgroud)

我在以下期间遇到异常cloudformation deploy

服务员遇到终端故障状态状态:FAILED。原因:模板错误:每个 Fn::FindInMap 对象都需要三个参数,地图名称、地图键和返回值的属性

怎么了?

Rud*_*koŭ 6

Fn::FindInMap 文档中是这样写的:

支持的函数您可以在 Fn::FindInMap 函数中使用以下函数:

Fn::FindInMap

参考

这意味着你不能!Sub "${Environment}"在这里使用,请!Ref Environment改用。