在此上下文中不允许使用 E0000 映射值

问题描述

在运行云形成模板时,我得到了

E0000 mapping values are not allowed in this context

发生错误的行号是 Properties:

InvokePermission:
    Type: AWS::Lambda::Permission
    Properties:
        Action:
          - lambda:InvokeFunction
        FunctionName: !Ref FunctionLambda
        Principal: sns.amazonaws.com

解决方法

根据documentation

,您的定义是错误的

Action 应该是一个字符串,如下所示:

        permission:
        Type: AWS::Lambda::Permission
        Properties:
        FunctionName: !GetAtt function.Arn
        Action: lambda:InvokeFunction
        Principal: 123456789012

此外,YAML mapping values are not allowed in this context 中也对此进行了解释。

所以正确的定义是:

    InvokePermission:
        Type: AWS::Lambda::Permission
        Properties:
            Action: lambda:InvokeFunction
            FunctionName: !Ref FunctionLambda
            Principal: sns.amazonaws.com