如何解决有没有办法在 AWS X-Ray 而不是 State 中查看实际错误消息?
我已经为 StepFunction 状态机启用了 X-Ray,在 X-Ray 跟踪图中,我可以在 Subsegment 部分看到,我可以找到状态函数中哪个步骤捕获了错误,但它只说 {{ 1}} 但没有实际的错误信息:(截图如下)
但是,如果我导航到 stepfunction 执行事件历史记录,我可以在“TashStateExited”中找到,我会看到类似的内容:
States.TaskFailed
我想知道是否有一种方法可以直接在 X-Ray 中查看此错误消息,而无需导航到特定的执行事件历史记录?既然 X-Ray 应该让监控更容易并帮助我们调试,为什么它没有在跟踪图中显示实际的错误消息?
解决方法
我只能通过在捕获错误的 try/except 块中运行我的代码,然后在重新抛出之前使用 subsegment.addError()
调用将异常信息添加到跟踪段来手动执行此操作例外。我不确定让 X-Ray 自动执行此操作的方法……这是 AWS 论坛上的一个主题,提供了一些背景信息:https://forums.aws.amazon.com/thread.jspa?threadID=282800&tstart=0
Step Function 将所有收集到的错误和原因发送到 X-Ray。但它们可能不会出现在状态的子段中,而是出现在任务的子段中。
1- 在 X-Ray 中,选中跟踪的“原始数据”选项卡。错误是否出现在 JSON 中?
2- 在时间轴选项卡中,您应该能够看到任务下的错误:
这是状态子段:
这是任务子段:
如果您仍然无法在 X-Ray 中找到错误,请发布状态机定义和原始跟踪 JSON。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。