【问题标题】:How to add trigger for Lambda, with swagger and RestApi?如何使用 swagger 和 Rest Api 为 Lambda 添加触发器?
【发布时间】:2018-12-08 03:50:54
【问题描述】:

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

RestApi 定义

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

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway amazon-cloudformation


    【解决方案1】:

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

    /{proxy+}

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2019-12-10
      • 1970-01-01
      相关资源
      最近更新 更多