我想为@requestId
lambda 执行中的字段设置值,因为在源代码中显式输出的日志不包含@requestId
字段值。
我读过一篇文章并尝试输出如下日志,但 @requestId 没有被填写。
fmt.Print(`{"requestId":"come on!!"}`)
下面的代码都不是。
fmt.Print(`{"@requestId":"come on!!"}`)
系统字段是否受到保护?
我想为@requestId
lambda 执行中的字段设置值,因为在源代码中显式输出的日志不包含@requestId
字段值。
我读过一篇文章并尝试输出如下日志,但 @requestId 没有被填写。
fmt.Print(`{"requestId":"come on!!"}`)
下面的代码都不是。
fmt.Print(`{"@requestId":"come on!!"}`)
系统字段是否受到保护?
触发 AWS Lambda 函数时,会将一个context
元素传递给该函数。
来自Go 中的 AWS Lambda 函数处理程序 - AWS Lambda:
func HandleRequest(ctx context.Context, name MyEvent) (string, error) {
return fmt.Sprintf("Hello %s!", name.Name ), nil
}
来自Go 中的 AWS Lambda 上下文对象 - AWS Lambda:
上下文属性
AwsRequestID
– 调用请求的标识符。
因此,您可以从context
. 然后,您的函数打印的任何内容都将被捕获在CloudWatch Logs中。因此,请在您的打印声明中包含请求 ID。