How to use Amazon lex bot from the external web UI - amazon-web-services

I have set up the amazon lex bot in AWS and I am able to test this successfully in the Test bot section.
I started exploring accessing the amazon lex bot from the external web ui (my local application) and I found the tool called amazon aws lex web UI (https://github.com/aws-samples/aws-lex-web-ui) and It seems very complex to setup, I have few queries here
1) Is this (https://github.com/aws-samples/aws-lex-web-ui) the only way to use amazon lex bot from my local web application?
2) This section has the notes for running locally (https://github.com/aws-samples/aws-lex-web-ui#running-locally)
How to generate the amazon Cognito pool Id for the amazon lex bot?
Thanks,
Harry

1) No
Amazon Lex is ultimately a service, which means it can be called from any application that calls the API appropriately. The sample provided by AWS is just an example of how to call that API. So, this is not the only way to use Amazon Lex bots from your local web application.
You can create a fully custom Bot UI from scratch (like I did) that calls the Amazon Lex API to service your application. (More on this can be found at this question that another user has asked - note that the response for this question is done in C#)
2)
There is an example provided by AWS at the following link which has a section on how to set up Cognito for this purpose (again, this is what I used to set up my own Bot)
Hope this helps you!

https://github.com/aws-samples/aws-lex-web-ui is an utility tool, which you may use, but in most cases you will end up implementing your own display logic. It most cases it is connecting it to sms, facebook, whatsapp... You have an API https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html in which you can interact with Lex, I suggest using that.

Related

How to parse input from frontend to AWS SNS?

I am new to AWS and I am trying to build a web application where every time I type in my name and address and click the submit button, I want this information to be sent to SNS to notify a device that a new entry has been received along with the inputs given. I am wondering if I should first create a lambda function to get my name and address before triggering the SNS. I am still not clear what would be a good workflow here.
If you want to interact with Amazon SNS from a web app, you do not need to write a lot of Lambda functions to interact with the service. Instead, you can directly invoke the SNS Service by using the Amazon SNS API.
For example, assume you want to write a Web app using Java. To solve this use case, you can write the Web App using Spring BOOT and then use the SNS Java API to invoke SNS Service Operations, as discussed in this development article.
Creating a Publish/Subscription Spring Boot Application
Likewise, if you are using another programming language, you can use that given API to build the web app and invoke SNS operations.

Is there a software like Microsoft Bot Composer for AWS?

I'm trying to make a ChatBot that uses Dialog Flow and should be able to pickup Keywords and match it to the Intents.
I've worked with Microsoft Bot Framework using Luis and deployed a similar bot on Azure but now I have to do the exact same thing but have to deploy that on AWS and use Elastic Search.
How do I do that? Is there a similar Software available for AWS ?
you can use AWS lex for create chatbot,here is the link for aws lex
https://docs.aws.amazon.com/lex/latest/dg/getting-started.html.
for performing back-end task like validation and dynamic response from bot side,then you need to use lambda again lambda also AWS tool that provide to how to make server-less bot.
https://docs.aws.amazon.com/lex/latest/dg/using-lambda.html
hope this kt will help you.

What parts of the AWS should I use for a web portal?

I am currently working on a web portal for a foundation. Applicants for a grant will receive access data in advance independently of this portal. New applications will then be created and processed in the portal itself. Once an application is complete, it is sent off. Later the application will be approved or rejected.
There are a number of technical specifications on which I have no influence. The frontend should be implemented using Html+Javascript. The backend should use the Amazon Web Services (AWS). If there is a need to program something for the backend - then C# should be used.
I know how to implement the classic client-server solution. At the moment, however, AWS offers me an unmanageable set of services. And here I'm hoping for suggestions as to which of the services I should take a closer look at. Ideally, no complete 'server solution' should run on a virtual server. Instead, Lambda functions are mentioned again and again. So would Amazon RDS and AWS Lambda be a sensible and sufficient combination? Did I miss something?
Thank you very much for your suggestions.
One solution would be to use AWS S3 to server HTML, CSS, JS, Images and other static content. You could use AWS Lambda via AWS API Gateway to serve as a backend. AWS Lambda would then connect to AWS RDS or AWS DynamoDB if you would prefer a NoSQL solution.
Image taken from AWS Github repo
You can get a more detailed description of how to set this up at
https://github.com/aws-samples/aws-serverless-workshops/tree/master/WebApplication/

How to publish Amazon Lex Chatbot as webservice

I am able to create Amazon lex chat bot. I am also able to publish the same in Facebook messenger. Also I found sdk's for iOS and Android.
What I want is to publish lex bot as a webservice which can be called from any rest client, so that it can be integrated to any user interface with rest calls.
I heard of Javascript sdk's for publishing lex bots as service, but I am not able to find any proper documentation on this.
The lex-runtime is accessible from the Javascript SDKs. AWS documentation is here: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/LexRuntime.html
The trickiest part is authentication. The recommendation from Amazon is usually to route your Lex requests through a Lambda function in front of an API gateway. An alternative is to have a Cognito unauthenticated role that has permissions to call Lex and then have the clients call it directly.
The getting started guide may be of use if you are unfamiliar with calling AWS from the browser: http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-started-browser.html
You can use AWS API Gateway which will get the requests from your Rest Client and forward it to Lex.
Your architecture will be like:
Chat client <==> AWS API Gateway <==> AWS Lex
Check this link for details.

Using Amazon SNS with Delphi FireMonkey

I'm trying to create push notifications for my mobile application.
Is it possible integrate Delphi FireMonkey with Amazon SNS services?
Thanks.
(Using Delphi 10 Seattle)
The Amazon APIs are REST based. You can simply use the INDY component library or maybe even the Rest Client that shipped recently with Delphi. Also, Delphi has built in classes for talking to many of the AMAZON services like S3. You can use those as an example.
Amazon Integrator from n/software makes it easy to access Amazon Web Services from Delphi
Easy-to-use components can be used to add, modify and delete objects stored on S3 or SimpleDB, add or remove messages from SQS, integrate with ASW e-commerce services, or control EC2 instances. As well as SNS
https://www.nsoftware.com/in/amazon/
Short answer is Yes.
Its possible to use Amazon Cloud API with Delphi. Extending Cloud API, Amazon Simple Notification Service (SNS) let you send notifications using different protocols including email, http and push notifications. (TAmazonSNS Service)
There are 3 provided classes to access Amazon Web Services with Cloud API:
Simple Storage Service (S3)
Simple Database Service (SimpleDB)
Simple Queue Service (SQS)
Also you can check Paweł Głowacki's Amazon Web Services Delphi CodeRage X demos from here.