Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 通过aws Step函数中的失败状态传播错误消息_Amazon Web Services_Aws Step Functions - Fatal编程技术网

Amazon web services 通过aws Step函数中的失败状态传播错误消息

Amazon web services 通过aws Step函数中的失败状态传播错误消息,amazon-web-services,aws-step-functions,Amazon Web Services,Aws Step Functions,我正在使用aws Step功能来管理工作流。我使用失败状态来处理工作流中的错误。我想传播Step Function工作流中的一些json,以便用户能够轻松识别错误的来源。例如,如果失败状态的json输入如下所示: { "error": "some error text", "other_stuff": {...} } 然后我想找出错误的根源。我已将我的失败状态设置为: FailState: Type: Fail

我正在使用aws Step功能来管理工作流。我使用失败状态来处理工作流中的错误。我想传播Step Function工作流中的一些json,以便用户能够轻松识别错误的来源。例如,如果失败状态的json输入如下所示:

{
    "error": "some error text",
    "other_stuff": {...}
}
然后我想找出错误的根源。我已将我的失败状态设置为:

FailState:
    Type: Fail
    Cause: States.Format($.error)
    Error: Failure Here

但是,这只会产生文本字符串
States.Format($.error)
作为失败状态的原因。如何使用aws状态语言和故障状态将实际错误显示为故障状态输出的一部分?任何能够成功地将故障状态的错误文本从步骤输入传播到步骤输出的解决方案都足以解决此问题。

如果其他人遇到此问题,我会联系AWS支持部门,他们会告诉我:

“此状态下的'Cause'和'Error'字段仅接受字符串类型值。这就是为什么您将文本字符串作为响应。然而,好消息是,我们已经有一个现有的功能请求,正在等待Step Functions Development team来实现发送JSON路径的功能(如$.Error)进入失败状态。”

因此,出于某些原因,AWS step函数不允许传递动态错误消息。他们确实提供了一些解决方法,例如将故障状态更改为成功并以这种方式传播错误消息,或者在状态机故障的情况下创建一个sns主题以发布到。我个人刚刚更新了状态轮询API,以获取索引[-2]处的状态,从而将错误传播给用户。在任何情况下,为了使用此功能,目前应该采用一些变通方法,希望AWS能够快速推出此功能