LoginSignup
0
0

More than 5 years have passed since last update.

alexaのサンプルアプリを3分で設定する

Posted at

概要

alexaスキルで色々試してみたい。
雛形のサンプルアプリを量産して、改造を加えていきたい。
というわけで、デプロイまでの初期構築をできるだけ簡単に行う方法をまとめます。

手動でやるとブラウザを行ったり来たりでちょっと大変。

  • alexaのdeveloperコンソールでスキルを作成
  • awsのコンソールでlambdaを作成
  • alexaのコンソールに戻って、lambdaの設定を追加

利用するコマンド

  • serverless framework (1.38.0)
  • awscli (1.16.100)
  • jq

手順

準備

Alexa Skills Kit開発者コンソール でスキルの作成を行い、Skill IDをコピーしておく。

$ export SKILL_NAME=testtest
$ export ALEXA_SKILL_ID="amzn1.ask.skill.xxxxx"

プロジェクト作成

宇宙の豆知識(日本語) を少し修正したテンプレートを利用。

// プロジェクトの作成
$ ask new --skill-name $SKILL_NAME --url https://github.com/tekutoo/skill-sample-nodejs-fact.git
$ cd $SKILL_NAME

// Skill IDを置換
$ find . -name '*config' -o -name '*serverless.yml' | xargs sed -i "" -e "s/__ALEXA_SKILL_ID__/$ALEXA_SKILL_ID/g"

// lambdaをデプロイ
$ cd lambda/custom
$ sls deploy

// lambdaのARNを取得 && 置換
$ cd -
$ export LAMBDA_ARN=`aws lambda get-function --function-name skill-sample-nodejs-fact-dev-main --region ap-northeast-1 | jq .Configuration.FunctionArn -r`
$ find . -name 'skill.json' | xargs sed -i "" -e "s/ask-custom-$SKILL_NAME-default/$LAMBDA_ARN/g"

// alexa skillをデプロイ
$ ask deploy

動作確認

$ ask simulate -l 'ja-JP' -t '宇宙の豆知識を開いて'

参考文献

その他

スキルの作成も $ ask api create-skill -f skill.json でできるようですが、あらかじめlambdaを用意しておかないといけないさそうで、ここだけは手動でやってます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0