我已经使用AWS api网关创建了一个API。在阶段中,选中了“记录完整的请求/响应数据”,还选中了“启用CloudWatch Logs”。
当我查看cloudwatch中的日志时,我看到一些日志已被“截断”。实际上,所有日志都将截断请求和响应body
。有什么方法可以查看整个请求/响应。
由于将有多个集成点,因此查看整个日志很有意义。
答案 0 :(得分:3)
它看起来像是AWS API Gateway中的https://api.playfab.com/docs/tutorials/landing-players/sign-in-with-google之一。
API网关当前将日志事件限制为1024个字节。记录事件 大于1024个字节(例如请求和响应正文)的 在提交给CloudWatch Logs之前,被API Gateway截断了。
答案 1 :(得分:1)
API Gateway 将日志事件限制为 1024 字节且不能增加。大于 1024 字节的日志事件(例如请求和响应正文)将在提交到 CloudWatch Logs 之前被 API Gateway 截断。
一种解决方法是使用 Lambda 代理与 API Gateway 集成。
通过 Lambda 代理集成,API Gateway 将请求按原样传递给集成的 Lambda 函数,唯一的例外是不保留请求参数的顺序。
此请求数据包括请求标头、查询字符串参数、URL 路径变量、有效负载、正文和请求上下文。由于 Lambda 不会截断日志条目,因此所有标头和查询字符串参数都记录在 Lambda 的 CloudWatch 日志中并可以看到。
这种方法的缺点是 lambda 会增加成本。
在此处阅读 API Gateway CloudWatch 日志:https://cloudnamaste.com/api-gateway-cloudwatch-logs/