Шаблон SAM "Недопустимое свойство или свойства шаблона [MyApi]" - PullRequest
0 голосов
/ 07 марта 2019

Я получаю следующую ошибку после запуска команды CLI: развертывание облачной информации (после пакета sam)

"Не удалось создать набор изменений: Ошибка Waiter ChangeSetCreateComplete: Официант обнаружил состояние ошибки терминала. Статус: СБОЙ. Причина: недопустимое свойство или свойства шаблона [MyApi]"

Это шаблон. Я не могу получить информацию о том, что является недействительным свойством. Это возможно? Иначе что не так с этим шаблоном?

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31

Resources:
  HelloFunction:
    Type: AWS::Serverless::Function
    Properties:`enter code here`
      Handler: main
      Runtime: go1.x
      Events:
        GetEvent:
          Type: Api
          Properties:
            Path: /
            Method: post
            #RestApiId: !Ref ApiGateway1

  LambdaInvokePermission:
    Type: AWS::Lambda::Permission
    Properties:
      FunctionName: !GetAtt
        - HelloFunction
        - Arn
      Action: 'lambda:InvokeFunction'
      Principal: apigateway.amazonaws.com
      SourceAccount: !Ref 'AWS::AccountId'

MyApi:
  Type: AWS::Serverless::Api
  Properties:
    StageName: default
    EndpointConfiguration: REGIONAL
    DefinitionBody:
      swagger: "2.0"
      info:
        title: "TestAPI"
      paths:
        /:
          get:
#            parameters:
#              - name: "id"
#                in: "query"
#                required: true
#                type: "string"
#            x-amazon-apigateway-request-validator: "Validate query string parameters and\
#                \ headers"
            x-amazon-apigateway-integration:
              uri:
                Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${HelloFunction.Arn}/invocations
              responses: {}
              httpMethod: "POST"
              type: "aws_proxy"



Outputs:
  FunctioArn:
    Value: !GetAtt  HelloFunction.Arn
    Export:
      Name: HelloFunctionArn

1 Ответ

2 голосов
/ 07 марта 2019

В MyApi есть ошибка отступа.Используйте следующее:

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31

Resources:
  HelloFunction:
    Type: AWS::Serverless::Function
    Properties:`enter code here`
      Handler: main
      Runtime: go1.x
      Events:
        GetEvent:
          Type: Api
          Properties:
            Path: /
            Method: post
            #RestApiId: !Ref ApiGateway1

  LambdaInvokePermission:
    Type: AWS::Lambda::Permission
    Properties:
      FunctionName: !GetAtt
        - HelloFunction
        - Arn
      Action: 'lambda:InvokeFunction'
      Principal: apigateway.amazonaws.com
      SourceAccount: !Ref 'AWS::AccountId'

  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: default
      EndpointConfiguration: REGIONAL
      DefinitionBody:
        swagger: "2.0"
        info:
          title: "TestAPI"
        paths:
          /:
            get:
  #            parameters:
  #              - name: "id"
  #                in: "query"
  #                required: true
  #                type: "string"
  #            x-amazon-apigateway-request-validator: "Validate query string parameters and\
  #                \ headers"
              x-amazon-apigateway-integration:
                uri:
                  Fn::Sub: arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${HelloFunction.Arn}/invocations
                responses: {}
                httpMethod: "POST"
                type: "aws_proxy"



Outputs:
  FunctioArn:
    Value: !GetAtt  HelloFunction.Arn
    Export:
      Name: HelloFunctionArn
...