我遇到的一个非常奇怪的行为是,我正在关注在线文档,并在创建可与我的子细分一起使用的细分时,lambda的执行顺序如下:
xray_recorder.begin_segment('segment-name')
xray_recorder.begin_subsegment('subsegment-name')
# put annotations and meta data etc
xray_recorder.end_segment('segment-name')
xray_recorder.end_subsegment('subsegment-name')
但是我在 CloudWatch Manager 上遇到以下错误:
Cannot create segments inside Lambda function. Discarded.
当我删除细分受众群创建并尝试像这样在本地运行时:
xray_recorder.begin_subsegment('subsegment-name')
# put annotations and meta data etc
xray_recorder.end_segment('segment-name')
我收到错误消息:SegmentNotFoundException:找不到当前的细分/子细分,请确保您已打开一个细分
令人困惑。
答案 0 :(得分:0)
在本地创建本地运行的X射线段时,您必须启动段以创建子段,但是在AWS的lambda上运行时,默认情况下会创建这些段,并且可以继续处理子段。
在本地时,我却遇到了错误,而在远程运行良好的情况下却忽略了段的创建。