Skip to content

Commit

Permalink
Add final pattern file
Browse files Browse the repository at this point in the history
  • Loading branch information
bfreiberg authored Aug 13, 2024
1 parent 972c2e5 commit 39bad1a
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions apigw-s3-proxy/apigw-s3-proxy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"title": "Amazon API Gateway with a Amazon S3 integration",
"description": "Create a REST API Gateway with a S3 read-only integration",
"language": "",
"level": "200",
"framework": "SAM",
"introBox": {
"headline": "How it works",
"text": [
"This pattern deploys an Amazon API Gateway REST API endpoint with a S3 read-only integration",
"The API exposes 3 GET methods:",
"Root GET method: it provides a list of the S3 buckets of the account where the stack is deployed.",
"{folder} GET method: it provides a list of the objects contained in the bucket {folder}",
"{item} GET method: it returns the contents of the object in Folders and Sub-folders {item+}",
"The template also deploys an IAM role with S3 read-only capabilities that is used by API Gateway to integrate with S3.",
"Since this is API Gateway effectively acts as a proxy S3, every GET method is protected by IAM authentication to prevent public access."
]
},
"gitHub": {
"template": {
"repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/apigw-s3-proxy",
"templateURL": "serverless-patterns/apigw-s3-proxy",
"projectFolder": "apigw-s3-proxy",
"templateFile": "template.yaml"
}
},
"resources": {
"bullets": [
{
"text": "REST API with S3 integration",
"link": "https://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services-s3.html"
}
]
},
"deploy": {
"text": [
"Deploy the stack: <code>sam deploy</code>."
]
},
"testing": {
"text": [
"Once the application is deployed, retrieve the API URL provided as output and open it in a browser page.",
"Replace the folder and item place holder with S3 bucket name and path to your file",
"Example: https://12345abcde.execute-api.{region}.amazonaws.com/Prod/mybucket/folder1/folder2/index.html"
]
},
"cleanup": {
"text": [
"Delete the stack: <code>sam delete</code>."
]
},
"authors": [
{
"name": "Vamsi Pulikonda",
"image": "https://raw.githubusercontent.com/vamsipulikonda/my-photo/main/vamsi-photo.jpg",
"bio": "I am a cloud computing enthusiast working as a Cloud Engineer at Amazon Web Services.",
"linkedin": "vamsipulikonda"
}
],
"patternArch": {
"icon1": {
"x": 20,
"y": 50,
"service": "apigw",
"label": "API Gateway REST API"
},
"icon2": {
"x": 80,
"y": 50,
"service": "s3",
"label": "Amazon S3"
},
"line1": {
"from": "icon1",
"to": "icon2",
"label": ""
}
}
}

0 comments on commit 39bad1a

Please sign in to comment.