是否可以为API网关指定多个方法 - > Lambda映射?

时间:2015-11-20 23:32:24

标签: aws-lambda serverless-framework

我目前正在使用Serveless Framework来创建一个新的应用程序,并希望在我的API网关中将相同的lambda函数映射到多个HTTP方法(例如,GET和POST),并且我已经陷入了如何执行此操作的困境。 / p>

以下是在awsm.json中为apiGateway配置的默认资源/操作端点生成的无服务器框架:

"apiGateway": {
"deploy": false,
"cloudFormation": {
  "Type": "AWS",
  "Path": "notify/event",
  "Method": "POST",
  "AuthorizationType": "none",
  "ApiKeyRequired": false,
  "RequestTemplates": {},
  "RequestParameters": {},
  "Responses": {
    "400": {
      "statusCode": "400"
    },
    "default": {
      "statusCode": "200",
      "responseParameters": {},
      "responseModels": {},
      "responseTemplates": {
        "application/json": ""
      }
    }
  }
}

}

因此,这允许我的端点接受POST请求,但是如何更改此文件以使此lambda也接受GET请求?我尝试过以下方法:

"cloudFormation": {
  ...
  "Method": [ "POST", "GET" ],
  ...
}

"cloudFormation": {
  ...
  "Method": "POST,GET",
  ...
}

1 个答案:

答案 0 :(得分:1)

目前不支持此功能(自v1.4起)。这是一个正在讨论的已知问题(https://github.com/jaws-framework/JAWS/issues/295),路线图中也有类似的内容。

现在你必须为每条路线创建一个单独的.awsm&方法