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
cdk-alexa-skill-2.0.0.tar.gz
(30.9 kB
view hashes)
Built Distribution
Close
Hashes for cdk_alexa_skill-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90caf7ee81110dd4a2c4e93f4f9718fad374ae1a8b9fddd640640374d010119c |
|
MD5 | 3dc5854ff19d865125d80e6626f3dda4 |
|
BLAKE2b-256 | 8ac8ba97766336681f24f80c995c4e11cb0bbdc18ee23fc92ce6f31bbee45f47 |