Amazon web services AWS Step函数:在Lambda异常上,获取原始输入?
设置 我有一台AWS状态机。我有一个Lambda,它可能返回一个结果,或者抛出一个异常。该步骤定义了一个catch块,并根据异常的类型遵循不同的执行路径 问题 但是,我希望存储失败的Lambda的输入,以便以后可以重新应用它 失败Lambda的输出是异常 我尝试过的 添加OutputPath和ResultPath在异常时不适用 我真的不想总是抛出自定义异常并附加json输入,然后通过异常消息进行解析Amazon web services AWS Step函数:在Lambda异常上,获取原始输入?,amazon-web-services,aws-lambda,aws-step-functions,Amazon Web Services,Aws Lambda,Aws Step Functions,设置 我有一台AWS状态机。我有一个Lambda,它可能返回一个结果,或者抛出一个异常。该步骤定义了一个catch块,并根据异常的类型遵循不同的执行路径 问题 但是,我希望存储失败的Lambda的输入,以便以后可以重新应用它 失败Lambda的输出是异常 我尝试过的 添加OutputPath和ResultPath在异常时不适用 我真的不想总是抛出自定义异常并附加json输入,然后通过异常消息进行解析 我尝试使用并行程序,将输入发送到Lambda和Pass。结果是一个包含Lambda输出(成功输出
我尝试使用并行程序,将输入发送到Lambda和Pass。结果是一个包含Lambda输出(成功输出或异常)和原始输入的数组。但是,现在我需要添加一个选项来检查是否存在异常,然后继续成功的输出,或者分支原始输入。我似乎无法在选项中定义JsonPath来检查数组的第一个元素中是否存在“Error”。您可以使用
Catch
子句中的ResultPath
来执行此操作,该子句将异常输出放在原始输入下的特定路径中
例如:
投入
{"foo": "bar"}
在异常情况下,将产生如下输出:
{
"foo": "bar",
"error": {
"Error": "..."
}
}
{
"foo": "bar",
"error": {
"Error": "..."
}
}