[英]AWS Step Functions: On Lambda exception, get original input?
安裝程序
我有一台AWS狀態機。 我有一個可能返回結果的Lambda,或者可能拋出異常。 該步驟定義了一個catch塊,並根據異常的類型,遵循不同的執行路徑。
問題
但是,我想存儲失敗的Lambda 輸入 ,以便以后可以重新應用它。
失敗的Lambda的輸出是例外。
我試過的
添加OutputPath和ResultPath時,如果它是異常,則不適用。
我真的不想總是拋出自定義異常並附加json輸入,然后解析異常消息。
我嘗試過使用Parallel,將輸入發送到我的Lambda和Pass。 結果是一個帶有Lambda輸出(成功輸出或異常)和原始輸入的數組。 但是,現在我需要添加一個Choice來檢查是否有異常,然后繼續成功輸出,或者用原始輸入分支。 我似乎無法在Choice中定義JsonPath來檢查數組的第一個元素中是否存在“Error”。
您可以使用Catch
子句中的ResultPath
執行此操作,該子句將異常輸出放在原始輸入下的特定路徑中。
例如:
"Catch": [{
"ErrorEquals": ["States.ALL"],
"Next": "NextTask",
"ResultPath": "$.error"
}]
輸入
{"foo": "bar"}
在異常情況下會產生如下輸出:
{
"foo": "bar",
"error": {
"Error": "..."
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.