簡體   English   中英

API網關正在覆蓋AWS步驟功能狀態輸出

[英]API Gateway is Overwriting AWS Step Functions State Output

我正在關注本文,以為我的狀態機實施手動批准步驟:

https://aws.amazon.com/blogs/compute/implementing-serverless-manual-approval-steps-in-aws-step-functions-and-amazon-api-gateway/

這是工作流程:

-execution從JSON輸入開始。 類似於{“ instance-id”:“ i-xxxxxxx”,“ action”:“ stop”}之類的東西。 輸入傳遞到手動步驟

-a lambda worker通過使用手動步驟的ARN調用GetActivityTask來輪詢活動任務

-工作被帶回令牌出售給工人

-worker函數使用令牌使用SES生成電子郵件。 電子郵件中的URL使用令牌調用SendTaskSuccess或SendTaskFailure。

事情做得很漂亮! 單擊電子郵件中的相應URL會使狀態機分別進入下一個狀態或失敗。 我唯一的問題是:手動步驟提供的輸入被API網關GET覆蓋。 因此,基本上,手動步驟的輸入是上面的JSON Blob,但是輸出類似:“單擊了批准鏈接”。 (集成請求的主體映射模板)。

那么,如何使手動步驟將原始輸入作為輸出傳遞呢? 在此處輸入圖片說明

您應該在狀態的描述中設置ApprovalState的ResultPath 默認情況下,它寫入路徑的“根”($),但是您可以通過在狀態描述中添加"ResultPath": "$.whatever" ,將其寫入$.whatever

看看Amazon State Language:Path

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM