[{"data":1,"prerenderedAt":75},["ShallowReactive",2],{"pattern-apigw-lambda-rekognition":3},{"id":4,"title":5,"architectureURL":6,"cleanup":7,"contributors":11,"deploy":13,"description":17,"extension":18,"framework":19,"gitHub":20,"highlight":6,"introBox":26,"language":31,"level":32,"meta":33,"patternArch":34,"resources":59,"s3URL":6,"services":6,"stem":70,"testing":71,"videoId":6,"__hash__":74},"patterns\u002Fpatterns\u002Fapigw-lambda-rekognition.json","Content safety image moderation using Amazon S3 and AWS Lambda",null,{"text":8},[9,10],"terraform destroy","terraform show",[12],"content\u002Fcontributors\u002Farchana-v.json",{"text":14},[15,16],"terraform init","terraform apply","Securely upload images to Amazon S3 and detect inappropriate content with Amazon Rekognition","json","Terraform",{"template":21},{"repoURL":22,"templateURL":23,"projectFolder":24,"templateFile":25},"https:\u002F\u002Fgithub.com\u002Faws-samples\u002Fserverless-patterns\u002Ftree\u002Fmain\u002Fapigw-lambda-rekognition","serverless-patterns\u002Fapigw-lambda-rekognition","apigw-lambda-rekognition","main.tf",{"headline":27,"text":28},"How it works",[29,30],"Using this sample pattern, users can securely upload images to an Amazon S3 bucket by requesting a pre-signed URL through Amazon API Gateway. This URL allows secure and temporary access for uploading files directly to S3.","Once an image is uploaded, an S3 event invokes an AWS Lambda function to analyze the content using the DetectModerationLabels API. If the image is identified as inappropriate, a notification is sent via Amazon SNS, ensuring automated content moderation and alerting.","YAML","200",{},{"icon1":35,"icon2":40,"icon3":44,"icon4":48,"line1":52,"line2":55,"line3":57},{"x":36,"y":37,"service":38,"label":39},20,50,"s3","Amazon S3(presigned URL)",{"x":41,"y":37,"service":42,"label":43},45,"lambda","AWS Lambda",{"x":45,"y":37,"service":46,"label":47},67,"rekognition","Amazon Rekognition",{"x":49,"y":37,"service":50,"label":51},90,"sns","Amazon SNS",{"from":53,"to":54},"icon1","icon2",{"from":54,"to":56},"icon3",{"from":56,"to":58},"icon4",{"bullets":60},[61,64,67],{"text":62,"link":63},"Uploading objects with presigned URLs","https:\u002F\u002Fdocs.aws.amazon.com\u002FAmazonS3\u002Flatest\u002Fuserguide\u002FPresignedUrlUploadObject.html",{"text":65,"link":66},"Moderating content","https:\u002F\u002Fdocs.aws.amazon.com\u002Frekognition\u002Flatest\u002Fdg\u002Fmoderation.html",{"text":68,"link":69},"DetectModerationLabels","https:\u002F\u002Fdocs.aws.amazon.com\u002Frekognition\u002Flatest\u002FAPIReference\u002FAPI_DetectModerationLabels.html","patterns\u002Fapigw-lambda-rekognition",{"text":72},[73],"See the GitHub repo for detailed testing instructions.","P5CTE5wXfwL6xPEYMIAmJxTQIZQqAei4UWngH-Ikb2E",1778927705302]