我有调用 Lamdba 函数 1 并在 Go 中调用 lambda 函数 2 的 API 网关。我想在服务地图中看到这两个功能。
到目前为止,我能够做到这一点的唯一方法是创建一个自定义段,例如称为“父”,并从该上下文创建一个子段,例如称为“子”。然后使用 client.InvokeWithContext 调用传递“子”段上下文的函数 2。
sess := session.Must(session.NewSession())
client := lambda.New(sess, &aws.Config{Region: aws.String(region)})
xray.Configure(xray.Config{LogLevel: "trace"})
xray.AWS(client.Client)
ctx, seg := xray.BeginSegment(context.Background(), "Parent")
ctx, subseg := xray.BeginSubsegment(ctx, "Child")
result, _ := client.InvokeWithContext(ctx,
lambda.InvokeInput{FunctionName: aws.String(functionName), Payload: nil})
subseg.Close(nil)
seg.Close(nil)
问题是这会在服务映射中创建跟踪父级 -> 子级,但也具有功能 1。
请问在服务地图上加入这两个功能的最佳方式是什么?笔记。我有超过 2 个我想在服务地图上看到链接,以向我展示我通过 lambdas 的整个流程。
请帮忙。
谢谢瑞克