Лямбда и шлюз API, определяемый образованием облаков - PullRequest
0 голосов
/ 03 февраля 2019

Я хочу добавить авторизацию для конечных точек, используемых для лямбды.Поскольку я не могу настроить это в лямбда-определении, я создаю методы явно.

 LambdaName:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./lambdaDir
      FunctionName: LambdaName
      Events:
        APIEvent:
          Type: Api
          Properties:
            RestApiId: !Ref MyApi
            Path: /products
            Method: POST


  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      Name: MyApi
      StageName: dev

      ProductsResource:
    Type: AWS::ApiGateway::Resource
    Properties:
      ParentId:
          Fn::GetAtt:
            - "MyApi"
            - "RootResourceId"
      PathPart: products
      RestApiId: !Ref MyApi

  ProductsCreateApiMethod:
    Type: AWS::ApiGateway::Method
    Properties:
      AuthorizationType: NONE
      AuthorizerId: !Ref Authorizer
      AuthorizationScopes:
        - someScope
      RestApiId: !Ref MyApi
      HttpMethod: POST
      ResourceId: !Ref ProductsResource

К сожалению, я получаю ошибку:

Another resource with the same parent already has this name: products (Service: AmazonApiGateway; Status Code: 409; Error Code: ConflictException; Request ID: 03ca26de-27be-11e9-82bb-536e557773f3)

Похоже, когда Cloud Formation пытается явно создать продуктыресурс, он уже там неявно создан по лямбда-определению,

...