Amazon AlexaのカスタムスキルをTypeScriptを使って開発するテンプレートです。
AWS Lambdaへのデプロイや、Alexaのスキルで扱うその他のAWSリソースの管理は、AWS SAM (Serverless Application Model)を利用しています。
下記のコマンドでデプロイできます。
$ sh deploy.sh
このデプロイ用のシェルスクリプトで実行している内容は下記の通りです。
- TypeScriptで作成したLambda関数を通常のJavaScriptファイルにビルド。
- 上記でビルドしたLambda関数をパッケージング。
- パッケージングした内容を指定のS3バケットへアップロード・そのURIを参照した
serverless-output.yaml
を自動生成。 serverless-output.yaml
の内容に従って、AWS環境にデプロイ。
型情報を参照するパッケージ(「@types/
」から始まるパッケージなど)や、TypeScriptからJavaScriptにビルドした後のファイルで使用しないパッケージは、 $ yarn add -D {packageName}
で devDependencies
としてインストールすることをおすすめします。
(こうすることで、デプロイ時のLambda関数のファイルサイズを軽量に保つことができます。)