This lab walks you through creating a serverless web application hosted in S3 bucket which will take a text input from the user and convert it to an audio file using Amazon Polly and store it in S3 bucket. The user can list the audio file in the web page and play the file. You can also select a language to which the text needs to be converted.
You will practice the lab using Amazon Polly, IAM, Lambda, SNS, API Gateway, DynamoDB, S3.
Duration: 120 minutes
AWS Region: US East (N. Virginia)
Amazon Polly is a service that turns text into speech, allowing you to create applications that speak, and build speech-enabled products.
Amazon Polly is an Amazon AI service that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. It currently includes 47 lifelike voices in 24 languages, so you can select the ideal voice and build speech-enabled applications that work in many different countries.
You can also create a custom voice for your organization. This is a custom engagement where you will work with the Amazon Polly team to build an NTTS voice for the exclusive use of your organization.
Natural sounding voices
Store & redistribute speech
Customize & control speech output
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
APIs act as the front door for applications to access data, business logic, or functionality from your backend services.
API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, CORS support, authorization and access control, throttling, monitoring, and API version management.
Using API Gateway, you can create RESTful APIs and WebSocket APIs that enable real-time two-way communication applications. API Gateway supports containerized and serverless workloads, as well as web applications.
AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume.
With Lambda, you can run code for virtually any type of application or backend service - all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.
Stands for Identity and Access Management.
Web service that helps the user securely control access to AWS resources.
Used to control who is authenticated and authorized to use AWS resources.
The first "identity" is the creation of an account in AWS portal. On providing the email and password an Identity is created, and that's the "root user" holding all the permissions to access all resources in AWS.
The primary resources in IAM are users, groups, roles, policies, and identity providers.
IAM Group is a collection of IAM Users. You use groups to specify permissions for a collection of users, which can make those permissions easier to manage for those users.
IAM roles are like IAM Users in that they are both identities with permission policies that determine what the owner can access.
IAM Roles do not have any credentials associated with them.
IAM Roles are intended to be assumable by anyone who needs them.
IAM can be used from the AWS CLI, AWS SDK and AWS Management Console.
Launching Lab Environment.
Create a S3 Bucket.
Create an IAM Role.
Create a DynamoDB Table.
Create a SNS Topic.
Create insert Lambda functions.
Create process Lambda functions.
Create list Lambda functions.
Create an API Gateway.
Host a Serverless Application.
Test the application.
Validation of the lab.