API Gateway 甚至无法为其创建日志的 URL 有什么问题?

问题描述

我有一个 HttpApi 与路由 GET /image/{proxy+} 的 lambda 函数集成,它适用于其他情况,但不适用于 https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100%-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg

回复

<html>

<head>
    <title>400 Bad Request</title>
</head>

<body>
    <center>
        <h1>400 Bad Request</h1>
    </center>
</body>

</html>

它甚至有效的是我从调用 URL 中删除了“%”,即 https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg

日志:

{
    "requestId": "ak4ZfgqzhcwEJMg=","ip": "47.X.X.X","requestTime": "11/Feb/2021:10:31:11 +0000","path": "/image/200/men's-100-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg","error": "context.error.messageString","httpMethod": "GET","routeKey": "GET /image/{proxy+}","status": "200","protocol": "HTTP/1.1","responseLength": "22803"
}

我尝试了它的 URIEncoded 版本,但没有成功:https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100%25-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg 但没有记录的情况下再次得到不同的响应

回复

{
    "message": "Bad Request"
}

日志格式:

{ "requestId":"$context.requestId","ip": "$context.identity.sourceIp","requestTime":"$context.requestTime","path": "$context.path","error":"context.error.messageString","httpMethod":"$context.httpMethod","routeKey":"$context.routeKey","status":"$context.status","protocol":"$context.protocol","responseLength":"$context.responseLength" }

我认为这是 Api Gateway 无法解析请求的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)