This is an AWS SAM app that uses Rekognition APIs to detect text in S3 Objects and stores labels in DynamoDB.
Here is a brief overview of what we have generated for you.
.
├── README.md <-- This instructions file
├── src <-- Source code for the Lambda function
│ ├── __init__.py
│ └── app.py <-- Lambda function code
├── template.yaml <-- SAM template
└── SampleEvent.json <-- Sample S3 eventCLI commands to package, deploy and describe outputs defined within the cloudformation stack.
First, we need an S3 bucket where we can upload our Lambda functions packaged as ZIP before we deploy anything - If you don't have a S3 bucket to store code artifacts then this is a good time to create one:
aws s3 mb s3://BUCKET_NAMENext, run the following command to package your Lambda function. The sam package command creates a deployment package (ZIP file) containing your code and dependencies, and uploads them to the S3 bucket you specify.
sam package \
--template-file template.yaml \
--output-template-file packaged.yaml \
--s3-bucket REPLACE_THIS_WITH_YOUR_S3_BUCKET_NAMEThe sam deploy command will create a Cloudformation Stack and deploy your SAM resources.
sam deploy \
--template-file packaged.yaml \
--stack-name {{ cookiecutter.project_name.lower().replace(' ', '-') }} \
--capabilities CAPABILITY_IAM \
--parameter-overrides MyParameterSample=MySampleValueTo see the names of the S3 bucket and DynamoDB table created after deployment, you can use the aws cloudformation describe-stacks command.
aws cloudformation describe-stacks \
--stack-name {{ cookiecutter.project_name.lower().replace(' ', '-') }} --query 'Stacks[].Outputs'