问题
访问API Gateway接口出现了403问题,具体报错如下:
{"message":"Missing Authentication Token"}
需要配置AWS API Gateway日志,看请求过程是什么样子的。
API Gateway
先找到API Gateway的的日志角色,如果没有就创建一个,具体如下图:
确认存在日志角色后,就可以找到阶段,开始日志设置,如下图:
设置日志,如下图:
日志内容如下:
{ "requestId":"$context.requestId", "extendedRequestId":"$context.extendedRequestId","ip": "$context.identity.sourceIp", "caller":"$context.identity.caller", "user":"$context.identity.user", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod", "resourcePath":"$context.resourcePath", "status":"$context.status", "protocol":"$context.protocol", "responseLength":"$context.responseLength" }
过滤三个请求ID,过滤语法如下:
{ $.requestId = "a4afb9bd-1a3e-4524-8847-4370c45b738e" || $.requestId = "378ba33b-7d4d-4c3f-8b63-dfd7cdc1c225" || $.requestId = "c274ffb7-b084-49e0-a0c6-b9d5214ad3f8" }
请求ID来源如下图:
日志查询效果
参考:
- 为 API Gateway 中的 REST API 设置 CloudWatch 日志记录