I'm not seeing "Publish" button in Amazon Lex Bot and all the tutorials' screenshots I'm finding don't align with my AWS Consoles - amazon-web-services

Hello Stackoverflow Friends:
Context:
My goal is to use Amazon Lex Bot to communicate via an SMS text channel using an Amazon Pinpoint phone number associated with my account. Users will send utterances via their native text client, i.e. the Messages application on their iPhone. It would reply to them in the same channel.
I did also want to include a 'middleware' layer of having a Lambda functions extract certain user utterances and or the user's phone number and store that in a Dynamo DB.
Problem(s):
I found this tutorial and I am blocked [Blockers listed below].
There seems to be a disconnect between what I'm seeing in my AWS console and this tutorial (and documentation on AWS) as well as many video tutorials I'm seeing on YouTube - or I'm maybe doing something wrong?
Version 2? I did observe that my AWS Lex console that the URL that includes a "V2" in the url ("https://console.aws.amazon.com/lexv2/home?region=us-east-1#bots") I am not observing that "V2" in various instructors' videos that I've watched. Which leads me to wonder if perhaps V2 is a new version of Lex and the documentation hasn't been released? Here is a link to a video done by one of the author's of the above linked tutorial and as you can see from the screenshot in his video it isn't /lexv2/ it is just /lex/.
Screenshot from instructional video:
Screenshot from my AWS console:
Blockers / Questions:
1. [Tutorial says]1 (in Step 1; Request a long code for your country. When I do that - there is no focus / SMS capability is grayed out indicating [to me anyway] that the outcome / goal of this tutorial is not possible using a long code?
Question: As a workaround I selected a toll free number which had SMS capabilities. Is that permissible?
2. In Step 2; the tutorial says, Use the default IAM role - there is no default, I selected.
Question: Is that a good path forward?
3. Also in Step 2; [the tutorial says]1, When the bot finishes building, choose Publish. For Create an alias, enter Latest. Choose Publish. - I see no "Publish" button and this is highly confusing as in many, many, many tutorials I've watched on YouTube the instructors have that button visible.
Here is my screenshot of what I see [no "Publish" button]:
Here is Amazon document tutorial with a "Publish" button.
And here is a various tutorial I see online with a "Publish" button.
Question: Did I miss a step (I did build it and test it and those controls to do that were on the bottom of the UI not on the top as all the tutorials I've found are. Is it possibly V2 of this Lex bot that has changed?
Assuming I can get past these blockers - in Step 3 of the tutorial it says, Under Execution role, choose View the LexPinpointIntegrationDemoLambda role.
Question: Not to be really dense but I have swirl on how to do that / where to do that. Can I get some direction / steps on exact steps to do that please?

Yes, the problem is that the tutorial, which i also followed, is based on the Version 1 of the service and the console. On the lower left corner there is a button that says "Switch to V1 console"
After this you will get the same interface as the tutorial and you can continue with it.

AWS does not have the Publish Button in the Lex V2. You will have to follow the following steps to publish your Bot in AWS Lex V2:
1. Build the bot
2. Create the bot version
3. Create an Alias
3. Associate that version to a required alias
so once you create the bot version, it is considered published.

Related

Every upload & download getting notification "Amplify transfer service is running"

I'm using AWS Amplify as my app backend to store image and video. In every upload and download I'm getting the above notification.
Questions
1. How to stop that notification?
2. Can we customize that notification to show the upload & download progress?
Thank you for reaching out!
For #1, There’s a more detailed discussion of that issue on GitHub here: https://github.com/aws-amplify/amplify-android/issues/1803. In the meantime, while it is being addressed on our end, you can apply the workaround in that issue where you manually stop the TransferService once the upload/download is finished: stopService(Intent(context, TransferService::class.java)).
For #2, Support for showing upload/download progress in the foreground notification is currently not supported. You can open up a GitHub issue in our repo (https://github.com/aws-amplify/amplify-android) for general discussion so that we can gauge customer desire for this feature.

On AWS X-Ray, stop tracing a particular path on a Node API running in a docker container on ECS

I have a Node API running inside a docker container on ECS. I am using X-Ray to trace incoming requests.
I would like to instruct x-ray to not trace a particular API end-point on my Node API. Is this possible?
The API endpoint is:
/api/upload/directUploadConfirmation
I do not want that end-point traced via X-Ray.
What I have tried
I tried to create a sampling rule via the X-Ray console. I wanted to cheat and see for this paritular URL, capture 0 requests per second. But that plan failed because it doesn't accept 0, the number has to be greater than or equal to 1.
EDIT: The CloudWatch console team has since fixed this in production. Thanks for finding this issue!
=============================================================
Just to confirm, are you using the X-Ray SDK for Node.JS? If you are, feel free to open an issue there so people familiar with the SDK can help answer your question too!
Otherwise, I was able to create a sampling rule with 0 Reservoir Size and 0 Fixed Rate. Below is a picture showing how to get to the X-Ray console to create this.
The AWS documentation lists several Sampling options that you can use including URL Path. This option is not available in APIGW, but should be available in ECS which you mentioned you are using. In my image I am using that to filter output requests to URL Path /foo/bar.
But that plan failed because it doesn't accept 0, the number has to be greater than or equal to 1.
Can you please confirm where you saw it fail to accept 0? Based on that I can try to replicate your setup and see if I get the same issue.
Thanks!

Anyone who knows how to configure the Amazon AWS platform to program skills?

I'm working with Amazon's AWS platform and I need to program Lambda functions that I will need use as Skills for Alexa. But when I have to connect my Lambda function with the Alexa Developer platform I am experiencing problems especially when it asks me to enter the data relating to the linking account.
The data I entered are these, however, once I turn on my app and go to the skill that I have programmed to activate it on my alexa, I get this error:
If i get your question right- you want to link Alexa Dev Console to the lambda function. First you need to go to Alexa developer console. On the "Build" category there is a topic called "Endpoint". Click on that. Copy your skill id and head over to Lambda. In there you need to enter the skill id, while creating a function. After the function is set up, head to the editor. On the upper right corner of the page you see your "ARN". Click on the copy button at the end of the line. Get back to Alexa developer console. At "Endpoint" you enter the ARN value in the "default region". After saving (at lambda and developer console), your link should be established.

Cannot enable the ML Engine APIs

I'm following Tensorflow tutorial
Quick Start: Distributed Training on the Oxford-IIIT Pets Dataset on Google Cloud
At the step 3 "Enable the ML Engine APIs", I'm facing the following problem:
"Enabling API" box never disappears and I'm stuck on this page.
Endless Enabling API​
Question:
Why the problem occurred and how can I solve it?
In the screenshot I can see that a project hasn't been selected. You need to select a project from the dropdown menu at the top of the screen, where it says 'Select a project'.
If you haven’t got a project yet then you need to create one.
Choose a project from Console first and then go to ML Engine via dashboard, you'll see a more descriptive explanation regarding what's going on (you have to wait up to 10 minutes).
Not sure that the same applies when you follow the step 3 link: I recall waiting more than 10 mins a few times.
Enabling API message

MTurk external website example

I am looking for a example where a fully completed web app can be embedded into amazon mechanical turk. I am working on a "game-like" activity that does not really belong to a form structure.
Here is my game/activity:
http://52.91.100.69:3030/
I would like to embed such tasks inside mechanical turk. My code accepts url parameters such as assignmentId, workerId etc (which I have found form the aws mturk docks)
For example:
http://52.91.100.69:3030/?assignmentId=23423&workerId=34&hitId=455
Basically, I am handling all the data logging etc, I plan to generate codes for users to enter upon completion of a number of tasks.
I would like to know how I cam accomplish this? Preferably in python (Boto)?
I looked at this tutorial: http://kaflurbaleen.blogspot.com/2014/06/in-which-i-battle-mturk-external-hits.html
Using this I made this boto file: https://gist.github.com/arendu/631a416e4cb17decb9dd
When I run it I dont see any errors, but I can't seem to find out whether the hit is available? I checked my aws mturk requester console (looked at manage HITs individually) but no hits are present.
What am I doing wrong?