[{"data":1,"prerenderedAt":69},["ShallowReactive",2],{"pattern-lambda-durable-human-approval-sam":3},{"id":4,"title":5,"architectureURL":6,"cleanup":7,"contributors":10,"deploy":12,"description":17,"extension":18,"framework":19,"gitHub":20,"highlight":6,"introBox":26,"language":34,"level":35,"meta":36,"patternArch":37,"resources":56,"s3URL":6,"services":6,"stem":64,"testing":65,"videoId":6,"__hash__":68},"patterns\u002Fpatterns\u002Flambda-durable-human-approval-sam.json","AWS Lambda durable functions Human-in-the-Loop Approval Workflow",null,{"text":8},[9],"Delete the stack: \u003Ccode>sam delete --region us-east-2\u003C\u002Fcode>.",[11],"content\u002Fcontributors\u002Fabhishek-agawane.json",{"text":13},[14,15,16],"Note: Lambda durable functions have limited regional availability. Please check the AWS documentation for current regional support.","sam build","sam deploy --guided --region us-east-2","Approval workflow that pauses execution while waiting for human decisions, with automatic timeout handling and callback-based resumption","json","AWS SAM",{"template":21},{"repoURL":22,"templateURL":23,"projectFolder":24,"templateFile":25},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Flambda-durable-human-approval-sam","serverless-patterns\u002Flambda-durable-human-approval-sam","lambda-durable-human-approval-sam","template.yaml",{"headline":27,"text":28},"How it works",[29,30,31,32,33],"This pattern demonstrates a human-in-the-loop approval workflow using Lambda durable functions with callback operations.","The workflow pauses execution using create_callback() while waiting for human approval, incurring no compute charges during the wait period.","If no decision is received within 24 hours, the workflow automatically times out and rejects the request.","When an approver submits a decision via API, the durable function resumes from its checkpoint and processes the result.","The pattern uses DynamoDB to map short UUIDs to callback IDs for clean approval URLs, and SNS to send email notifications with approve\u002Freject links.","Python","300",{},{"icon1":38,"icon2":43,"icon3":46,"line1":50,"line2":54},{"x":39,"y":40,"service":41,"label":42},15,50,"apigw","Amazon API Gateway",{"x":40,"y":40,"service":44,"label":45},"lambda","AWS Lambda durable functions",{"x":47,"y":40,"service":48,"label":49},85,"dynamodb","Amazon DynamoDB",{"from":51,"to":52,"label":53},"icon1","icon2","",{"from":52,"to":55,"label":53},"icon3",{"bullets":57},[58,61],{"text":59,"link":60},"Lambda durable functions Documentation","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fdurable-functions.html",{"text":62,"link":63},"Durable Execution SDK for Python","https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-python","patterns\u002Flambda-durable-human-approval-sam",{"text":66},[67],"See the GitHub repo for detailed testing instructions.","Wg8WPMDD3vx4MNDxhaWyEZmw7JifsQtiuWcoxE7cgJQ",1778846886011]