ラベル Amazon Echo の投稿を表示しています。 すべての投稿を表示
ラベル Amazon Echo の投稿を表示しています。 すべての投稿を表示

2018年1月16日火曜日

Echo: Alexa skill 開発環境構築からローカルテスト、デプロイまで

とりあえずメモ。テストが自動化できそう。


環境構築

lambdaの環境だと、requestsパッケージすら入ってないので、virtual envで必要なパッケージをインストールした方が良い
virtual envをインストール

デプロイ前に、ローカルでテストして、構文エラーぐらいは直しておきたい
python lambda localをインストール

作業開始

aws lambdaのページに従い、virtual env環境で作業します

ローカルテスト

コマンド:
$ python-lambda-local -l $VIRTUAL_ENV/lib/python3.6/site-packages/ -f handler src/lambda_function.py event.json

-l には、virtual env上でインストールしたpython packageが入ったディレクトリ、つまりデプロイ時zip化するディレクトリを指定する
-f は、handler名
event.jsonの中身ですが、Alexa Skill Kitのテストタブにある、サービスシミュレータで、「発話を入力」すると、「サービスリクエスト」に出てくるjsonをそのまま使えます。


デプロイ

こちらに従い、Zip化して、lambdaに入れます。
Virtualenv で作成した Python 環境を使用してデプロイパッケージを作成する

開発したAlexa skillが、アプリ上に表示されない場合

Amazon developer console上でスキルを開発しても、スマートフォンアプリの方に表示が出ないことがあります。
私の場合は、Amazon USのアカウントでログイン・開発していたのが原因でした。
IDはUS/JPともに同じもの(メアド)、パスワードだけ違っているので、JPのID/PWでログイン・スキルの追加をすることで、表示されました。
なおUS/JPのDeveloper console間で、開発中・開発したSkillは共有されないようなので、USで作ってしまったらJP site側で再度作り直す必要がありました。