如何解决Cognito xray - 未找到段问题
我正在尝试将 x 射线与 cognito 结合使用:
val client: AWSCognitoIdentityProvider =
AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(keysConfig.credentialsProvider)
.withRegion(config.region)
.withClientConfiguration(new ClientConfiguration().withMaxErrorRetry(config.maxErrorRetries))
.withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder))
.build()
但我收到一堆错误:
严重:抑制 AWS X-Ray 上下文缺失异常 (SegmentNotFoundException): 无法开始命名的子段 “AWSCognitoIdentityProvider”:找不到细分
我是通过一个例子来做的:
我应该在 aws xray UI 中做一些额外的配置吗?
编辑: 我还尝试删除手动添加请求处理程序并添加一个依赖项:aws-xray-recorder-sdk-aws-sdk-instrumentor 但同样的问题..
解决方法
启用 AWS 开发工具包检测将自动为您的 AWS 调用生成 subSegment
。但在 AWS Xray 中,subSegment 必须位于现有父级 segment
下,否则将获得 SegmentNotFoundException。
您可以尝试使用 beginSegment() 和 endSegment() 来包装您的 AWS 调用吗?
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.xray.entities.Segment;
try {
segment = AWSXRay.beginSegment("your service name");
// your AWS call
AWSCognito.xxx
} catch (Exception e) {
throw e;
} finally {
AWSXRay.endSegment();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。