1. はじめに
参考文献
今回の『Alexaスキル開発におけるaskコマンド集(ask-cli)』は、2018年11月2日(金)にアマゾン目黒新オフィスにて開催された『Alexaハンズオントレーニング(中級)』で紹介された『ASK CLIの基本的な使い方』をまとめ直したものとなります。
このスライドを見てできること
- Alexaスキル開発での、 askコマンド(ask-cli)が理解できるようになる。
2. askコマンド集(ask-cli)
2-1. スキルの新規作成
- このコマンドでは、HelloWorldのサンプルプロジェクトが新規作成されます。
Ubuntuコマンドライン
#作業ディレクトリ(任意)に移動
$ cd /mnt/c/Alexa
#スキルの新規作成
$ ask new
2-2. スキルをテプレートから作成
- このコマンドでは、コマンド実行時に選んだテンプレートのスキル新規作成がおこなえます。
Ubuntuコマンドライン
#作業ディレクトリ(任意)に移動
$ cd /mnt/c/Alexa
#テンプレート選択でのスキルの新規作成
$ ask new --template
2-3. スキルのデプロイ
- このコマンドでは、Alexaスキル(AlexaスキルおよびLambdaプログラム)をデプロイします。
Ubuntuコマンドライン
#作業ディレクトリに移動(プロジェクトディレクトリ内に移動してください)
$ cd /mnt/c/Alexa/HelloWorld
#スキルのデプロイ
$ ask deploy
#対話モデルだけをデプロイ
$ ask deploy -t model
#Lambdaプログラムだけをデプロイ
$ ask deploy -t lambda
2-4. スキルのクローン
- このコマンドでは、作成済みの既存スキルをローカル開発環境にコピー(クローン)します。
Ubuntuコマンドライン
#作業ディレクトリ(任意)に移動
$ cd /mnt/c/Alexa
#スキルのクローン(引数にスキルIDを指定すること)
$ ask clone -s amzn1.ask.skill.xxxxxx-xxxx-xxxx-xxxxx-xxxxxx
2-5. スキルの差分diff
- このコマンドでは、サーバ環境とローカル環境とのスキルの差分diffを表示します。
Ubuntuコマンドライン
#作業ディレクトリに移動(プロジェクトディレクトリ内に移動してください)
$ cd /mnt/c/Alexa/HelloWorld
#スキルの差分diff
$ ask diff -t all
#対話モデルだけを差分diff
$ ask diff -t model
#Lambdaプログラムだけを差分diff
$ ask diff -t lambda
3. トラブルシューティング
3.1 ask deploy でコケる場合
- 『ask deploy』または『ask deploy -t lambda』の実行でコケる場合、おそらくAWSコンソールから手作業で保存反映をしたことが原因で"revisionId"が変わってしまっている。
- 対応方法としては、プロジェクトディレクトリ配下の.ask/configファイルを開き、"revisionId": "XXXX" の設定行を削除&保存してから、再度『ask deploy』または『ask deploy -t lambda』を実行すれば復活できると思います。
4. おわりに
おわりに
みなさん、Alexaスキル開発におけるaskコマンド集(ask-cli)はいかがでしたか?ちゃくちゃくとAlexaスキルの機能がアップデートされていくなか、数多くのAlexaスキルを開発していくと、効率のよい開発方法をもさくしたくなることもあるかもしれません。みなさんの開発生産性の効率化に、すこしでもお役にたてば幸いです。
メリークリスマス!(Qiita Advent Calendar 2018)
2018/12/21 TAKAHIRO NISHIZONO