Событие SAM Lambda с явным API в качестве источника события

Я пытаюсь настроить событие для моей лямбда-функции в моем шаблоне SAM, но я хочу, чтобы источником события была явная конечная точка API.

В документации показано событие с неявным API в качестве источника события:

GetFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.get
    Runtime: nodejs6.10
    CodeUri: s3://bucket/api_backend.zip
    Policies: AmazonDynamoDBReadOnlyAccess
    Environment:
      Variables:
        TABLE_NAME: !Ref Table
    Events:
      GetResource:
        Type: Api
        Properties:
          Path: /resource/{resourceId}
          Method: get

Это будет явное определение API:

Resources:
  MyApi: 
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      DefinitionUri: swagger.yml

Как явно указать источник события MyApi?


person rooscous    schedule 26.09.2017    source источник


Ответы (1)


Мне нужно было добавить RestApiId под определение события следующим образом:

Events:
    GetResource:
      Type: Api
      Properties:
        RestApiId: !Ref MyApi
        Path: /resource/{resourceId}
        Method: get
person rooscous    schedule 26.09.2017