A starting point for a simple Alexa skill backed by a python lambda function.
NOTE: Requires AWS Account (shouldn't break past the free tier) with cli configuration
First things first, fork this repo so you can customize it.
The only required change to the code before you get up and running is to change the Source
Location
in /development-resources.yaml
to point to your new fork.
Now we can really have some fun!
- Get yourself a virtual environment for this project.
pip install -r requirements-dev.txt
aws cloudformation create-stack --stack-name PythonAlexaDevResources --template-body file://development-resources.yaml --capabilities CAPABILITY_IAM
- In the AWS console, run the newly created CodeBuild job (should have "LambdaPackageJob" in the name)
- Copy the ARN for the newly created Lambda function (should have "AlexaLambdaHandler" in the name)
- Log in to the ASK portal.
- Create a new skill, naming it and choosing an invocation phrase as you please.
- Under "Endpoint", choose Lambda and paste the Lambda Function ARN from step 5 into the "Default Region" and save.
- Copy
/interaction_model.json
into the "Interaction Model" "JSON Editor" and save. - Save and Build the model for the skill.
- Test it out. You can search for github repositories by default.
- Make it your own and do something awesome!
When you make a change to your fork's master branch, you can simply re-run the CodeBuild job to update the Lambda stack. The Alexa skill will automatically use the updated lambda function.
- Tests!!!
- CI/CD with full CodeBuild/CodePipeline suite
- More or different functionality