如何使用 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”

如何将请求参数转为json格式

如何:正确使用PHP将数据编码成JSON格式,并通过jquery/ajax请求数据

如何以json的格式发送到前端