Skip to content

Commit b371681

Browse files
authored
publishing file
1 parent cadc1ce commit b371681

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
"title": "Image Moderation using Amazon API Gateway and AWS Lambda",
3+
"description": "Securely upload images to Amazon S3 and detect inappropriate content with Amazon Rekognition",
4+
"language": "YAML",
5+
"level": "200",
6+
"framework": "Terraform",
7+
"introBox": {
8+
"headline": "How it works",
9+
"text": [
10+
"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.",
11+
"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."
12+
]
13+
},
14+
"gitHub": {
15+
"template": {
16+
"repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/apigw-lambda-rekognition",
17+
"templateURL": "serverless-patterns/apigw-lambda-rekognition",
18+
"projectFolder": "apigw-lambda-rekognition",
19+
"templateFile": "main.tf"
20+
}
21+
},
22+
"resources": {
23+
"bullets": [
24+
{
25+
"text": "Uploading objects with presigned URLs",
26+
"link": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html"
27+
},
28+
{
29+
"text": "Moderating content",
30+
"link": "https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html"
31+
},
32+
{
33+
"text": "DetectModerationLabels",
34+
"link": "https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html"
35+
}
36+
]
37+
},
38+
"deploy": {
39+
"text": [
40+
"terraform init",
41+
"terraform apply"
42+
]
43+
},
44+
"testing": {
45+
"text": [
46+
"See the GitHub repo for detailed testing instructions."
47+
]
48+
},
49+
"cleanup": {
50+
"text": [
51+
"terraform destroy",
52+
"terraform show"
53+
]
54+
},
55+
"authors": [
56+
{
57+
"name": "Archana V",
58+
"image": "https://media.licdn.com/dms/image/D5603AQF_QwVjCkS_UQ/profile-displayphoto-shrink_200_200/0/1670929520771?e=1724284800&v=beta&t=FFJJko4OO8h1tCFrxMyneTyRPAKmyEmIaDOYOeTaFEk",
59+
"bio": "Cloud Support Engineer at AWS",
60+
"linkedin": "archana-venkat-9b80b7184"
61+
}
62+
],
63+
"patternArch": {
64+
"icon1": {
65+
"x": 10,
66+
"y": 50,
67+
"service": "apigw",
68+
"label": "API Gateway"
69+
},
70+
"icon2": {
71+
"x": 30,
72+
"y": 50,
73+
"service": "s3",
74+
"label": "Amazon S3"
75+
},
76+
"icon4": {
77+
"x": 70,
78+
"y": 50,
79+
"service": "rekognition",
80+
"label": "Amazon Rekognition"
81+
},
82+
"icon5": {
83+
"x": 92,
84+
"y": 50,
85+
"service": "sns",
86+
"label": "Amazon SNS"
87+
},
88+
"icon3": {
89+
"x": 47,
90+
"y": 50,
91+
"service": "lambda",
92+
"label": "AWS Lambda"
93+
},
94+
"line1": {
95+
"from": "icon1",
96+
"to": "icon2"
97+
}
98+
,
99+
"line2": {
100+
"from": "icon2",
101+
"to": "icon3"
102+
}
103+
,
104+
"line3": {
105+
"from": "icon3",
106+
"to": "icon4"
107+
},
108+
"line4": {
109+
"from": "icon4",
110+
"to": "icon5"
111+
}
112+
}
113+
}

0 commit comments

Comments
 (0)