amazon-web-services - 通过 API 网关从 Lambda 返回 HTTP 状态代码

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

我有一个带有 Python 处理程序的 Lambda 设置,我已经创建了一个 API 端点来仅接收 POST 方法。我想不通的是我的 Lambda 应该如何告诉 API 网关事情已经成功完成并返回 HTTP 200 状态代码。有没有人冒险走这条路?

最佳答案

在 python lambda 中做

raise Exception('notfound')

使用任何其他关键字代替 notfound。

然后在 apigateway 中,您需要将 'notfound' 映射到一些响应状态代码。我为此使用了 swagger,所以这里是如何跟踪 'notfound' 的示例:

       "/tags/getById": {
          "get": {
            "summary": "Find the tag by it's ID",
            "produces": [
              "application/json"
            ],
            "responses": {
              "200": {
                "description": "successful operation",
                "schema": {
                  "$ref": "#/definitions/Tag"
                }
              },
              "404": {
                "description": "No tag found"
              }
            },
            "parameters": [xxxxxxx],
            "x-amazon-apigateway-integration": {
              "requestTemplates": {xxxxx},
              "uri": {xxxxxx},
              "responses": {
                "default": {
                  "statusCode": "200"
                },
                "notfound": {
                  "statusCode": "404"
                }

              },
              "httpMethod": "POST",
              "type": "aws"
            }
          }
       }

关于amazon-web-services - 通过 API 网关从 Lambda 返回 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33384664/

相关文章:

java - 使用 AWS Java SDK 和 Hadoop 将项目放入 DynamoDB 时出错

go - API 网关 -> Go Lambda 参数

node.js - 通过 Node AWS SDK 的 lambda.invoke 调用在 5 分钟内超时,而 Lambda 在 4 分钟内完成

amazon-web-services - 自定义授权者 + 阶段配置值

amazon-web-services - 如何仅从静态 s3 站点调用 API 网关

amazon-web-services - 如何约束客户端在 s3 上传时发送正确的 sha256 作为文件 key ? (预签名网址)

iOS 找不到 AWS pod 的 pod 规范

node.js - 如何在单次上传操作中将大小大于 5mb 的文件上传到 AWS

amazon-web-services - 如何在 Amazon Redshift 上执行预定的 SQL 脚本?

amazon-web-services - 如何为 AWS API Gateway 资源启用 CORS