【问题标题】:AWS Lambda API gives 502 error on POST requestAWS Lambda API 在 POST 请求中给出 502 错误
【发布时间】:2019-01-01 21:20:58
【问题描述】:

POST 请求适用于 Lambda 函数和 API。但是,当我通过 Postman 访问它时,它会给出 502 内部网关错误。

当我在 Clouwatch 日志中为 Postman POST 请求打印请求时,我得到以下信息:

{
"resource": "/{proxy+}",
"path": "/entitlement",
"httpMethod": "POST",
 "body": "ew0KICAgICJsYXN0UmVuZXdhbCI6IDE1MjcxNzY2Njg3OTUsDQogICAgInNvbGRUbyI6ICIwMDAxNjUyNDUzIiwNCiAgICAic3RhcnREYXRlIjogMTUyNzE3NjY2ODc5NSwNCiAgICAiZXhwaXJhdGlvbkRhdGUiOiAxNTI5NzY4NjY4Nzk1LA0KICAgICJhY3RpdmF0aW9uQ29kZSI6ICIxMTExMTExMTExMTExMTExIiwNCiAgICAicXVhbnRpdHkiOiAwLA0KICAgICJ2ZXJzaW9uIjogIjIxOSIsDQogICAgInRlcm0iOiAibW9udGhseSIsDQogICAgImFjdGl2ZSI6IHRydWUsDQogICAgIndlYmtleSI6ICJuZWhhLmNoaW5jaG9yZUBzaWVtZW5zLmNvbSIsDQogICAgInByb2R1Y3RTa3UiOiAiU0U5MTAtSVREIiwNCiAgICAiY3VzdG9tZXJJZCI6IG51bGwsDQogICAgImZpcnN0TmFtZSI6ICJUSElSRCIsDQogICAgImxhc3ROYW1lIjogIlRFU1QiLA0KICAgICJjb21wYW55TmFtZSI6ICJUaGlyZHRlc3QiLA0KICAgICJjYW5jZWxsYXRpb25EYXRlIjogbnVsbCwNCiAgICAiZW1haWwiOiAibmVoYS5jaGluY2hvcmVAc2llbWVucy5jb20iDQp9",
"isBase64Encoded": true
}

当我在 API 网关的日志中打印请求时,我得到以下信息:

{
"resource": "/{proxy+}",
"path": "/entitlement",
"httpMethod": "POST",
"body": "{\"lastRenewal\":1532500221761,\"soldTo\":\"0001652453\",\"startDate\":1532500221761,\"expirationDate\":1535178621761,\"activationCode\":\"0449835557734402\",\"quantity\":0,\"version\":\"219\",\"term\":\"monthly\",\"active\":true,\"customerId\":null,\"firstName\":\"THIRD\",\"lastName\":\"TEST\",\"companyName\":\"Thirdtest\",\"cancellationDate\":null,\"email\":\"abc@xyz.com\"}",
"isBase64Encoded": false
}

GET 请求工作正常。仅针对 POST 请求的人脸问题。

【问题讨论】:

    标签: aws-lambda aws-api-gateway


    【解决方案1】:

    在“API-Gateway”控制台中,展开 API 并选择“设置”选项卡。 有一个“二进制媒体类型”字段,设置为“*/*”,因此在 POST 请求中将“isBase64Encoded”设置为 true。

    但是,我的应用程序仅在请求正文中发布 json 数据,因此不需要“二进制支持”。所以我们删除了这个字段,它工作正常。

    如果您要发布二进制数据(图像/文件),在这种情况下,请将“二进制媒体类型”设置为相应的文件支持类型。

    【讨论】:

    • 有这方面的例子吗?我的 Get 端点需要有一个 API 网关才能返回 pdf 文件。如何在 POST 中禁用它?我正在使用无服务器来配置它,并且不会出现上述情况
    猜你喜欢
    • 2016-03-16
    • 2021-12-23
    • 2021-05-28
    • 2021-09-25
    • 2016-06-02
    • 1970-01-01
    • 2018-11-28
    • 2017-01-22
    • 2018-05-04
    相关资源
    最近更新 更多