A construct library for deploying Alexa Skills with the AWS CDK.
Project description
Alexa Skill CDK Construct
This is a CDK construct library for creating an Alexa Skill.
This library currently supports NodeJS and Python.
Installation
Install with npm
$ npm install cdk-alexa-skill
Install with pip
$ pip install cdk-alexa-skill
CDK compatibility
- Version 2.x is compatible with the CDK v2.
- Version 1.x is compatible with the CDK v1. There won't be regular updates for this.
Usage/Examples
TypeScript:
import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import { Skill } from 'cdk-alexa-skill';
const skillBackendLambdaFunction = new lambda.Function(this, 'Function', {
...
});
const skill = new Skill(this, 'Skill', {
endpointLambdaFunction: skillBackendLambdaFunction, // @aws-cdk/aws-lambda.IFunction object containing backend code for the Alexa Skill
skillPackagePath: 'src/skill-package', // path to your skill package
alexaVendorId: 'XXXXXXXXXX', // vendor ID of Alexa Developer account
lwaClientId: 'XXXXXXXXXX', // client ID of LWA Security Profile
lwaClientSecret: cdk.SecretValue.secretsManager('lwa-client-secret'), // @aws-cdk/core.SecretValue object containing client secret of LWA Security Profile
lwaRefreshToken: cdk.SecretValue.secretsManager('lwa-refresh-token') // @aws-cdk/core.SecretValue object containing refresh token of LWA Security Profile
});
Python:
from aws_cdk import core
from aws_cdk import aws_lambda as lambda_
from cdk_alexa_skill import Skill
skill_backend_lambda_function = lambda_.Function(self, 'Function',
...)
skill = Skill(self, 'Skill',
endpoint_lambda_function=skill_backend_lambda_function, # aws_cdk.aws_lambda.IFunction object containing backend code for the Alexa Skill
skill_package_path='src/skill_package', # path to your skill package
alexa_vendor_id='XXXXXXXXXX', # vendor ID of Alexa Developer account
lwa_client_id='XXXXXXXXXX', # client ID of LWA Security Profile
lwa_client_secret=core.SecretValue.secrets_manager('lwa-client-secret'), # @aws-cdk/core.SecretValue object containing client secret of LWA Security Profile
lwa_refresh_token=core.SecretValue.secrets_manager('lwa-refresh-token')) # @aws-cdk/core.SecretValue object containing refresh token of LWA Security Profile
See example folder or this blog post for a more complete example.
Contributing
Contributions of all kinds are welcome and celebrated. Raise an issue, submit a PR, do the right thing.
See CONTRIBUTING.md for contributing guidelines.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cdk-alexa-skill-2.0.4.tar.gz.
File metadata
- Download URL: cdk-alexa-skill-2.0.4.tar.gz
- Upload date:
- Size: 31.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7ee497a588da93ce8180b9eae478272809359293939e17ffdd2bd7dce02a10
|
|
| MD5 |
3d125f3f4094a1a9ee7b1e4d217ce88e
|
|
| BLAKE2b-256 |
99f710bab7d3d0102f2a45904e30bf81e452cbfad13f9e97c8cbf9bfab6603b1
|
File details
Details for the file cdk_alexa_skill-2.0.4-py3-none-any.whl.
File metadata
- Download URL: cdk_alexa_skill-2.0.4-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b8b47517f37c12d5e3f029c9f1af82e4627198bf4907a4d658c8ca0904a596
|
|
| MD5 |
de3f7f055c6c5c51f075064132d17fbf
|
|
| BLAKE2b-256 |
c70a37eddf28994c79c37f3d0d6f6729cccfad7c5bdf73facc52cef7733e75b8
|