[{"data":1,"prerenderedAt":98},["ShallowReactive",2],{"pattern-lambda-durable-ddb-streams-python-sam":3,"pattern-group-lambda-durable-ddb-streams-python-sam":72},{"id":4,"title":5,"architectureURL":6,"cleanup":7,"contributors":10,"deploy":12,"description":16,"extension":17,"framework":18,"gitHub":19,"highlight":6,"introBox":23,"language":31,"level":32,"meta":33,"patternArch":34,"patternGroup":52,"patternGroupLabel":6,"resources":53,"stem":67,"testing":68,"videoId":6,"__hash__":71},"patterns\u002Fpatterns\u002Flambda-durable-ddb-streams-python-sam.json","Amazon DynamoDB Streams to AWS Lambda Durable Function",null,{"text":8},[9],"Delete the stack: \u003Ccode>sam delete\u003C\u002Fcode>.",[11],"content\u002Fcontributors\u002Fajaya-shrestha.json",{"text":13},[14,15],"sam build","sam deploy --guided","Change data capture pipeline using DynamoDB Streams and Lambda durable functions with checkpointed validate, enrich, and notify steps.","json","AWS SAM",{"template":20},{"patternPath":21,"templateFile":22},"lambda-durable-ddb-streams\u002Fpython\u002Fsam","template.yaml",{"headline":24,"text":25},"How it works",[26,27,28,29,30],"This pattern processes DynamoDB stream events through a multi-step pipeline using Lambda durable functions.","When items are written to the source DynamoDB table, streams trigger a durable function that validates, enriches, and sends notifications for each record.","Each step is checkpointed. If the function is interrupted during processing, it resumes from the last checkpoint without re-executing completed steps.","Uses ReportBatchItemFailures for partial batch error handling so successfully processed records are not retried.","The function is deployed with AutoPublishAlias to meet the qualified ARN requirement for event source mappings with durable functions.","Python","300",{},{"icon1":35,"icon2":40,"icon3":43,"line1":45,"line2":49},{"x":36,"y":37,"service":38,"label":39},15,50,"dynamodb","Amazon DynamoDB",{"x":37,"y":37,"service":41,"label":42},"lambda-event-functions","AWS Lambda durable function",{"x":44,"y":37,"service":38,"label":39},85,{"from":46,"to":47,"label":48},"icon1","icon2","Streams",{"from":47,"to":50,"label":51},"icon3","Processed","lambda-durable-ddb-streams",{"bullets":54},[55,58,61,64],{"text":56,"link":57},"AWS Lambda durable functions","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fdurable-functions.html",{"text":59,"link":60},"Using Lambda with DynamoDB Streams","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwith-ddb.html",{"text":62,"link":63},"Durable Execution SDK for Python","https:\u002F\u002Fgithub.com\u002Faws\u002Faws-durable-execution-sdk-python",{"text":65,"link":66},"Reporting batch item failures for DynamoDB Streams","https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwith-ddb.html#services-ddb-batchfailurereporting","patterns\u002Flambda-durable-ddb-streams-python-sam",{"text":69},[70],"See the GitHub repo for detailed testing instructions.","4IjVD0sHOMEs7wEH9-jvicxLFH_R5AySTVvVNrE3N0o",[73],{"id":4,"title":5,"architectureURL":6,"cleanup":74,"contributors":76,"deploy":77,"description":16,"extension":17,"framework":18,"gitHub":79,"highlight":6,"introBox":81,"language":31,"level":32,"meta":83,"patternArch":84,"patternGroup":52,"patternGroupLabel":6,"resources":90,"stem":67,"testing":96,"videoId":6,"__hash__":71},{"text":75},[9],[11],{"text":78},[14,15],{"template":80},{"patternPath":21,"templateFile":22},{"headline":24,"text":82},[26,27,28,29,30],{},{"icon1":85,"icon2":86,"icon3":87,"line1":88,"line2":89},{"x":36,"y":37,"service":38,"label":39},{"x":37,"y":37,"service":41,"label":42},{"x":44,"y":37,"service":38,"label":39},{"from":46,"to":47,"label":48},{"from":47,"to":50,"label":51},{"bullets":91},[92,93,94,95],{"text":56,"link":57},{"text":59,"link":60},{"text":62,"link":63},{"text":65,"link":66},{"text":97},[70],1792492483441]