如何使用 JSON 格式将 lambda 请求 ID 记录到 AWS CloudWatch Api 网关日志组中?
Posted
技术标签:
【中文标题】如何使用 JSON 格式将 lambda 请求 ID 记录到 AWS CloudWatch Api 网关日志组中?【英文标题】:How can I log lambda request id into AWS CloudWatch Api gateway log group with JSON format? 【发布时间】:2019-06-30 18:48:09 【问题描述】:我一直在研究使用 AWS API Gateway 和 lambda 函数的 REST API。 Api 网关和 lambda 服务都在记录到 CloudWatch 服务。我需要将 lambda 请求 ID 记录到 AWS CloudWatch API 网关日志组中。 (API-Gateway-Execution-Logs_api_id/staging)。
我设法以文本格式获取 lambda 请求 ID,但我想以 JSON 格式记录它。在 API 网关日志中,它被标记为“AWS Integration Endpoint RequestId”。 我试图从以下链接中找到此属性: List of Log Variables
目前,“$context.requestId”已添加到我的 CloudWatch 日志中。这是 API Gateway 的请求 ID。我需要 API Gateway 日志中的 lambda 请求 ID。 我试图记录“$context.authorizer.principalId”,但它是空的。
如何从 API 网关请求的上下文对象中获取 lambda 请求 ID?
【问题讨论】:
【参考方案1】:从APIG reference看来,你可以使用$context.awsEndpointRequestId
占位符
【讨论】:
以上是关于如何使用 JSON 格式将 lambda 请求 ID 记录到 AWS CloudWatch Api 网关日志组中?的主要内容,如果未能解决你的问题,请参考以下文章
如何将ajax请求返回的Json格式数据循环输出成table形式
如何通过 Postman 以 JSON 格式在请求正文中发送对象数组?
AWS Lambda 错误:当 url 参数包含 JSON 数组时,“无法将请求正文解析为 json”