首页 文章

如何使用swagger和RestApi为Lambda添加触发器?

提问于
浏览
1

我正在尝试使用cloudformation创建Api网关和lambda函数 . 目前我能够使用swagger和lambda函数创建api网关 . 我的问题是lambda函数没有触发器支持api网关 . 如何为这个lambda函数添加触发器?

RestApi Definitation

MyRestApi:
 Properties:
  ApiKeySourceType: HEADER
  BodyS3Location:
    Bucket: bucketName
    Key: swagger.yaml
  Name: OmmaClaimsApi
Type: AWS::ApiGateway::RestApi

功能定义

MyLambda:
 Properties:
  Code:
    S3Bucket: bucketName
    S3Key: lambda.zip
  FunctionName: MyLambda
  Handler: index.handler
  MemorySize: 512
  Role: !GetAtt 'LambdaExecutionRole.Arn'
  Runtime: nodejs8.10
  Timeout: 300
Type: AWS::Lambda::Function

1 回答

  • 0

    您的lambda应通过代理集成通过API网关:

    /{proxy+}

    在无服务器的yaml中,尝试添加如下内容:

    functions:
      post-transaction:
        handler: your.lambda.LambdaHandler
        events:
          - http:
              path: /{proxy+}
              method: any
    

相关问题