[{"data":1,"prerenderedAt":77},["ShallowReactive",2],{"pattern-apigw-kinesis-lambda-ddb":3},{"id":4,"title":5,"architectureURL":6,"cleanup":7,"contributors":10,"deploy":12,"description":15,"extension":16,"framework":17,"gitHub":18,"highlight":6,"introBox":24,"language":32,"level":33,"meta":34,"patternArch":35,"resources":61,"s3URL":6,"services":6,"stem":72,"testing":73,"videoId":6,"__hash__":76},"patterns\u002Fpatterns\u002Fapigw-kinesis-lambda-ddb.json","Amazon API Gateway to Amazon Kinesis Data Stream to AWS Lambda to Amazon DynamoDB",null,{"text":8},[9],"Delete the stack: \u003Ccode>sam delete\u003C\u002Fcode>.",[11],"content\u002Fcontributors\u002Fravi-kiran-ganji.json",{"text":13},[14],"sam deploy","This pattern deploy an AWS SAM application with Amazon API Gateway, Amazon Kinesis Data Stream, AWS Lambda, and Amazon DynamoDB.","json","AWS SAM",{"template":19},{"repoURL":20,"templateURL":21,"projectFolder":22,"templateFile":23},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Fapigw-kinesis-lambda-ddb","serverless-patterns\u002Fapigw-kinesis-lambda-ddb","apigw-kinesis-lambda-ddb","template.yaml",{"headline":25,"text":26},"How it works",[27,28,29,30,31],"This pattern deploys an Amazon API Gateway REST API with route \u002Fprod\u002Fsubmit\u002F{streamName}\u002F{eventId} configured with basic authentication.","On receiving a request, API Gateway invokes a Lambda authorizer which validates the request by checking basic auth credentials from AWS Secrets Manager and returns a policy informing API Gateway to accept or deny the request.","When the request is accepted, API Gateway sends the message payload to Kinesis Data Stream. This pattern is useful in cases of large payloads since Kinesis Data Stream can support up to 1MB payload size. ","Lambda process messages from the Kinesis Data Streams. Lambda uses a SQS queue as Dead Letter Queue to send the messages in case of continued failures to process the messages.","Lambda saves the received messages into a DynamoDB table.","Python","300",{},{"icon1":36,"icon2":41,"icon3":45,"icon4":49,"line1":53,"line2":57,"line3":59},{"x":37,"y":38,"service":39,"label":40},15,50,"apigw","Amazon API Gateway",{"x":42,"y":38,"service":43,"label":44},41,"kinesis-datastreams","Kinesis Data Streams",{"x":46,"y":38,"service":47,"label":48},63,"lambda","AWS Lambda",{"x":50,"y":38,"service":51,"label":52},85,"dynamodb","Amazon DynamoDB",{"from":54,"to":55,"label":56},"icon1","icon2","",{"from":55,"to":58,"label":56},"icon3",{"from":58,"to":60,"label":56},"icon4",{"bullets":62},[63,66,69],{"text":64,"link":65},"Lambda authorizers","https:\u002F\u002Fdocs.aws.amazon.com\u002Fapigateway\u002Flatest\u002Fdeveloperguide\u002Fapigateway-use-lambda-authorizer.html",{"text":67,"link":68},"Dead Letter Queues","https:\u002F\u002Fdocs.aws.amazon.com\u002Fserverless-application-model\u002Flatest\u002Fdeveloperguide\u002Fsam-property-function-deadletterqueue.html",{"text":70,"link":71},"Amazon Kinesis Data Streams","https:\u002F\u002Fdocs.aws.amazon.com\u002Fstreams\u002Flatest\u002Fdev\u002Fintroduction.html","patterns\u002Fapigw-kinesis-lambda-ddb",{"text":74},[75],"See the GitHub repo for detailed testing instructions.","3lF7DYid6lfJAmqW0IenRTxtJCd3NcXNAaCb3bdJS0c",1778846882007]