0

我想为@requestIdlambda 执行中的字段设置值,因为在源代码中显式输出的日志不包含@requestId字段值。
我读过一篇文章并尝试输出如下日志,但 @requestId 没有被填写。

fmt.Print(`{"requestId":"come on!!"}`)

下面的代码都不是。

fmt.Print(`{"@requestId":"come on!!"}`)

系统字段是否受到保护?

4

1 回答 1

0

触发 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。

于 2019-06-21T05:28:37.300 回答