If you haven’t done so already, check out Step 1 to define your Alexa Skill.
After defining the Alexa Skill in Step 1, you are ready to set up Visual Studio in Step 2.
AWS Account and AWS Toolkit Extension
Before you can set up an Alexa project, you need to create an AWS Lambda project. Lambda functions are just class libraries that are hosted in the AWS Lambda cloud service. To create one, you need two things: the Amazon AWS Toolkit Extension and an AWS Developer Account. You can install the Extension in VS 2017.
You can create the AWS Developer Account at https://aws.amazon.com/.
With the AWS NuGet package installed and the Developer Account set up, you are ready to set up the AWS Security. You do that here: https://console.aws.amazon.com/iam.
Securing Your AWS Account and Lambda Function
In IAM Management Console, click on Groups on the left. Create a group for your Developers that has Admin Access. Create a group for your Apps that has AWSLambdaFullAccess
Then, click on Users on the left and create two accounts. One for yourself, of type AWS Management Console access, assigned to the Developers group. And, one for your app, of type Programmatic access, assigned to the Apps group:
Next, create an AWS Lambda Role by selecting Roles on the left side. Then make the following selections:
With the security Groups, Users and Role configured, you are ready to create the Solution for your Alexa Skill. The easiest way to do this is to use one of the sample projects in the Alexa Git repository.
Getting the Alexa Skill Sample Solution
Navigate to the Alexa GitHub repository in your browser to see what’s available.
I used the alexa/skill-sample-csharp-fact sample as my starting point. It has a ton of code in it that is ready to go, I just had to add something specific to my skill and I was off to the races. You can get the sample from the command line (Start | Run | Cmd). Make the directory/folder you want to host the project in with the md command:
C:> md \_GitHub C:> md \_GitHub\Alexa C:> cd \_GitHub\Alexa
And then type:
git clone https://github.com/alexa/skill-sample-csharp-fact.git
You will find the C# Solution file here:
C:\_GitHub\Alexa\skill-sample-csharp-fact\lambda\custom\sampleFactCsharp.sln
Copy the sample solution to your own folder:
C:\_GitHub\Alexa> md MyAlexaSkill C:\_GitHub\Alexa> cd skill-sample-csharp-fact\lambda\custom C:\_GitHub\Alexa\skill-sample-csharp-fact\lambda\custom> xcopy *.* \_GitHub\Alexa\MyAlexaSkill\*.* /S
Open the solution in VS 2017. (Be sure to update to the latest version of VS — 15.7 as of this writing — as it has some cool new features!)
In Step 3, we will look at the sample solution and start to modify it to work with the skill we defined in Step 1.
[…] Hopefully, if you followed the rules, the model will build and we are ready to move on to Step 2. […]
[…] that you’ve defined your Alexa Skill in Step 1, and you’ve configured the security and downloaded the sample in Step 2, we’re ready to take a look at the sample and see how to wire it up to the skill […]