aws-lambda - 是否可以为 API Gateway -> Lambda 映射指定多个方法?

标签 aws-lambda serverless-framework

我目前正在使用 Serveless Framework 创建一个新应用程序,并希望将相同的 lambda 函数映射到我的 API 网关中的多个 HTTP 方法(例如,GET 和 POST),但我一直在思考如何执行此操作。

以下是在 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",
  ...
}

最佳答案

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

现在,您必须为每个路由和方法创建一个单独的 .awsm

关于aws-lambda - 是否可以为 API Gateway -> Lambda 映射指定多个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837797/

相关文章:

python - 使用 Lambda 从 S3 读取数据

concurrency - Lambda SQL Server RDS 连接泄漏

aws-lambda - 用于向 AWS Lambda 添加权限的正确 terraform 语法

aws-cloudformation - 如何从 CloudFormation 调试 's3:CreateBucket Access Denied'

amazon-web-services - 无服务器框架 Cognito Userpool Pre Token Generator

node.js - 带有 AWS Lambda 错误 "Cannot find module"的无服务器框架

amazon-web-services - AWS API Gateway - Lambda 代理未通过 CloudFormation 模板打开

node.js - 当我尝试在 cloudsearch 上上传文档时,我无法处理此错误

aws-lambda - 我无法通过VPN将mysql客户端连接到RDS

reactjs - React 应用程序托管在 s3 意外 token 上 <