This lab walks you through the steps to create a Lambda function which will take an image stored in a S3 bucket and return the matching labels.
You will practice using Amazon Rekognition service.
Duration: 40 minutes
AWS Region: US East (N. Virginia) us-east-1
Amazon Rekognition is a cloud-based Software as a service computer vision platform.
Amazon Rekognition makes it easy to add image and video analysis to your applications using proven, highly scalable, deep learning technology that requires no machine learning expertise to use.
It provides highly accurate facial analysis and facial search capabilities that you can use to detect, analyze, and compare faces for a wide variety of user verification, people counting, and public safety use cases.
Service features :
Face detection and analysis
Face search and verification
Personal Protective Equipment (PPE) detection
AWS Lambda is a Serverless Compute service.
It works without any server management and allows us to execute code for any type of application.
The developer doesn't have to worry about the AWS resources to launch or the steps needed to manage the resources.
The configuration of the tasks are done as code . They are implemented in Lambda and performed on execution.
Provisioning and Managing are both taken care of by the Lambda function.
The languages AWS Lambda supports are Node.js, Python, C#, Java and Go.
It allows us to run code in response to events from other AWS services.
Automatic Scaling is done based on the size of the workload.
The Lambda Code is executed from Triggers which are received from AWS resources.
The cost of AWS Lambda is very low and depends on multiple factors. It will charge for every 100ms of runtime also for the number of times the code is executed.
The allowable runtimes a Lambda function execution is between 100ms to 15 Mins.
It offers resources varying from 128MB of memory to 10GB of memory.
An IAM role is an AWS IAM identity (that we can create in our AWS account) that has specific permissions.
It is similar to an IAM user, which determines what the identity can and cannot do in AWS.
Instead of attaching a role to a particular user or group, it can be attached to anyone who needs it.
The advantage of having a role is that we do not have standard long-term credentials such as a password or access keys associated with it.
When resources assume a particular role, it provides us with temporary security credentials for our role session.
We can use roles to access users, applications, or services that don't have access to our AWS resources.
We can attach one or more policies with roles, depending on our requirements.
For example, we can create a role with s3 full access and attach it to an EC2 instance to access S3 buckets.
Amazon S3 is a simple storage service that we can use to store and retrieve any amount of data, at any time, from anywhere on the web.
It gives developers and users access to highly scalable, reliable, fast, inexpensive data storage infrastructure.
S3 guarantees 99.9% availability at any point in time.
S3 has been designed to store up to 5 TB of data.
S3 is global, meaning you can create a bucket in any region and access it from anywhere. Due to this, the name of the bucket should be a unique one.
The S3 bucket objects, as well as the bucket, can be deleted at any time by the user.
We can limit access to our bucket by granting different permissions for different users.
S3 also comes with additional features such as versioning, static website hosting, server access logging and life cycle policy for storing objects, and many others.
Launching Lab Environment.
Create an IAM Role
Create a S3 Bucket and upload images.
Create a Lambda function.
Test the Lambda function.
Validation of the lab.
Deleting AWS Resources