代码之家  ›  专栏  ›  技术社区  ›  RudziankoÅ­

AWS CloudFormation中的映射。fn::findinmap对象需要三个参数

  •  1
  • RudziankoÅ­  · 技术社区  · 8 年前

    我有映射部分:

    Mappings:
      ScheduledPeriodMap:
        Development:
          "Expression": "cron(0 12 30 2 ? *)"
        Production:
          "Expression": "rate(1 minute)"
    

    稍后我使用它:

    Events:
      ScheduleMyLambda:
        Type: Schedule
        Properties:
          Schedule: !FindInMap [ScheduledPeriodMap, !Sub "${Environment}", "Expression"]
    

    我在 cloudformation deploy 以下内容:

    服务生遇到终端故障状态:失败。原因: 模板错误:每个fn::findinmap对象都需要三个参数, 映射名称、映射键和返回值的属性

    怎么了?

    1 回复  |  直到 8 年前
        1
  •  2
  •   RudziankoÅ­    8 年前

    Fn::FindInMap documentation 写的是:

    支持的函数可以在 fn::findinmap函数:

    fn::findinmap

    裁判

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