Bri*_*n L 10 amazon-web-services aws-step-functions
我正在使用 aws Step Functions 来管理工作流程。我正在使用失败状态来处理工作流程中的错误。我想传播 Step Function 工作流程中的一些 json,以便用户可以轻松识别错误来源。例如,如果 Fail 状态的 json 输入如下所示:
{
"error": "some error text",
"other_stuff": {...}
}
Run Code Online (Sandbox Code Playgroud)
然后我想找出错误的根源。我已经设置了失败状态,如下所示:
FailState:
Type: Fail
Cause: States.Format($.error)
Error: Failure Here
Run Code Online (Sandbox Code Playgroud)
然而,这只是生成文字字符串States.Format($.error)作为失败状态的原因。如何使用 aws states 语言和失败状态将实际错误显示为失败状态输出的一部分?任何能够成功地将失败状态的错误文本从步骤输入传播到步骤输出的解决方案都足以解决此问题。
Bri*_*n L 12
如果其他人偶然发现了这个问题,我联系了 AWS 支持,他们告诉我的是:
\n“此状态下的 \xe2\x80\x98Cause\xe2\x80\x99 和 \xe2\x80\x98Error\xe2\x80\x99 字段仅接受字符串类型值。这就是您获取文字字符串作为响应的原因然而,好消息是,我们已经有一个现有的功能请求正在等待 Step Functions 开发团队的处理,以实现将 JSON 路径(如 $.error)发送到 Fail 状态的功能。”
\n因此,出于某种原因,AWS 步骤函数不允许您传递动态错误消息。他们确实提供了一些解决方法,例如将失败状态更改为成功并以这种方式传播错误消息,或者在状态机无法发布的情况下创建一个 sns 主题。我个人刚刚更新了状态轮询 API 以获取索引 [-2] 处的状态,从而将错误传播给用户。无论如何,要使用此功能,目前应该采用一些解决方法,希望 AWS 能够快速推出此功能。
\n| 归档时间: |
|
| 查看次数: |
7224 次 |
| 最近记录: |