でこてっくろぐ ねお

UbieのSRE。でこらいふろぐ(http://dekolife.hatenablog.com/)の姉妹版。デコテックログ(deko tech log)である

Alexa(echo) スキル用AWS Lambda functionをAWS SAMを使ってバババッと立ち上げる

はてなエンジニア Advent Calendar 2017の16日目です。 昨日は、id:cockscomb さんによる 三点リーダーの位置をOpenTypeフォントでいい感じにする…… - cockscomblog? でした。

最近、各種スマートスピーカーが日本に上陸してきており、私もAmazon Echo DotGoogle Home Mini を購入しました。

大変便利なので、自分でも色々スキルの開発をしたいな、ついでに最近話題のAWSのSAMとやらも一緒に試してみたいな、と思ってこのエントリを書いてます。

結論

github.com

をREADMEの通りに実行することでバババッとlambda functionが完成するので、後は以下エントリ等参照しながら、amazonの開発者ツールからlambdaのarnを登録すると自分のEchoにスキルを登録できてデバッグ等ができるようになります。 (2017/12/21追記 README通りに実施すると、lambdaのarn登録やアプリ設定なども勝手にされるようになりました)

バババッと立ち上げる別の便利手法

Alexaのスキルを試したいだけであれば、以下のように、Amazonが公式で提供しているASK CLIを使うのも便利そうです。 developer.amazon.com

ただ、このエントリに書いたようなSAMを使う手法は、その後DynamoDB等、別のAWSコンポーネントも統一的に扱えるという点で利点があると思っています。ASK CLIをまだ試してないので詳しくは分かっていないのですが、どうも、ASK CLIはサンプル発話等の対話モデルもコードに落とせるようなので、なんかうまくASK CLIとSAMを組み合わせられないものか、と考えている。

(2017/12/21追記 README通りに実施すると、勝手にいい感じにASK CLIも使われるようになりました。lambdaのデプロイはSAMに任せつつ、その他の設定をASK CLIに任せるスタイル)

動いている様子


echoに褒めてもらう

感想

dekotech.dekokun.info というブログを書いて、CloudFormationを頑張って書いたりしている。SAMもあるのでSAMもやってみることにした。 ちょうどいい題材としてAlexaがあった。なんか色々作っていきたいなぁ。

もうちょっとDynamoDBとかを含めた形で AWS Serverless Application Repository にもゆくゆくは突っ込みたいなぁ、