こんにちは、サーバーワークスのこけしの人、坂本(@t_sakam)です。
さて、前回の「Alexa虎の巻」の第1回目は「Amazon開発者アカウントを作成する」をお届けしました。前回はアカウント作成のみでしたので、物足りなかったかもしれません。
今回からは「Alexa-hostedスキル」というものを利用してAlexaスキルを作りたいと思います。ですが、おそらく第2回目の今回も「これでもうスキルが動いてしまうの?」と思われるくらい簡単な手順となっています。今回はひとまず「Alexa-hostedスキル」の手軽さを感じていただきたいので「Hello World」とAlexaがいってくれるだけのスキルをサクッと作ってみます。びっくりするくらい簡単なので、ぜひ続きを読んで試してみてください!
1. Alexa-hostedスキルとは
Alexaのスキル作成は、Amazon開発者アカウントのみでなく、AWSのアカウントも取得し、Lambda等のAWSのサービスを利用してスキルを作っていくのが一般的な方法です。ですが「Alexa-hostedスキル」を使うとAWSのアカウントを持っていなくてもAlexaの開発者コンソールのみで、ちょっとしたスキルの作成ができてしまいます。
「Alexa-hostedスキル」は、いわば「Alexaの開発者コンソールにS3やLambdaなど、Alexaのスキル作成に必要な最低限のAWSリソースがセットでくっついている便利なもの」というイメージです。リソースは利用できる量に制限があるので、場合によってははAWSで作り直すことも必要になってくるかもしれませんが、ちょっとしたスキルであれば「Alexa-hostedスキル」で充分かと思います。ちなみに「Alexa-hostedスキル」はバージニアリージョン(us-east-1)で動いているそうです。
Alexa-hostedスキルとは、スキルのバックエンドサービスにAWSクラウドリソースを自動的にプロビジョニングして管理する、新しい機能です。 Alexa-hostedスキルでは、スキルの作成、編集、公開がすべてAlexa開発者コンソールで完結します。
まずは、Alexaに「Hello World」と言ってもらうところからスタートです。
2. Alexaの開発者コンソール
まずは、前回の続きの「Alexaの開発者コンソールの」画面を開きます。画面左中央にある「スキルを作成」ボタンを押します。
3. 新しいスキルを作成
「新しいスキルを作成」という画面が表示されるので「スキル名」の項目に「ハローワールド」と入力します。デフォルトの言語は「日本語(日本)」にします。
次に「1. スキルに追加するモデルを選択」では「カスタム」を選択します。「2. スキルのバックエンドリソースをホスティングする方法を選択」では「Alexa-Hosted(Node.js)」を選択します。
4. スキルに追加するテンプレートを選択
ここで「Hello World」スキルを選択し、画面右上の「テンプレートで続ける」ボタンを押します。
5. Alexa-hostedスキルの構築スタート
「Alexa-hostedスキルを作成しています。これには約1分かかります。」という文言が表示され、スキルの構築がスタートします。 音声モデルを作成しています… AWSリソースをプロビジョニングしています… コードエディターの準備をしています…
6. スキル作成完了
スキル作成が完了しました。なんと、これだけで「Hello Worldスキル」完成です。
7. 呼び出し名
動作確認テストをする前に画面左メニューの「呼び出し名」を選択します。画面中央の「スキルの呼び出し名」が「ハローワールド」になっていることを確認します。
画面上メニューの「テスト」をクリックします。
8. テスト画面
テスト画面が表示されました。
9. スキルのステータスを変更
画面左上に「非公開」となっている箇所があるので、こちらを「開発中」に変更します。こちらで開発中にしておくと、Echoで動作確認をしたいときにAlexaアプリで有効化せずとも、自動的にに有効化され、すぐにEchoで確認することができます。
10. テスト
画面左上の入力欄に「ハローワールドを実行して」と入力し、自分のマシンの「Enter」ボタンを押します。
11. Alexaからの回答
「Welcome, you can say Hello or Help. Which would you like to try?」とAlexaが返してきました。
12. コードエディタ
英語なのは、このスキルのテンプレートが英語だからです。画面上メニューで「コードエディタ」をクリックすると、コードが表示され、文言が英語になっているのが確認できます。つまり、この文言を日本語にすれば、日本語にすることもできますが、ひとまず今回は「Alexa-hostedスキル」の手軽さを感じていただくのが目的なので、このまま進めます。
13. helloといってみる
Alexaが「HelloかHelpといってみて」と言っているので、入力欄に「hello」と入れて「Enter」ボタンを押します。
14. Hello World
Alexaが「Hello World」と返してくれました。
15. Echoで確認する場合1
すでに今回のアカウントと紐付けたEchoを使っている方はすぐにEchoでも確認できますので、ぜひEchoでも試してみてください。
Alexaアプリを開いて、スキルが自動的に有効化されていることも確認しておきます。
スマホやタブレットの「Alexaアプリ」を開きます。画面左上の「三」マークをクリックし、表示されたメニューから「スキル・ゲーム」を選択します。
16. Echoで確認する場合2
画面上メニューの「有効なスキル」を選択します。次の画面で「開発」を選択すると「ハローワールド」スキルが表示されます。「ハローワールド」をクリックすると、すでにスキルが有効化されていることを確認できます。
先程のテストの工程で「非公開」のまま「開発中」に変更していない場合は、この画面でスキルの有効化をおこなう必要があります。
まとめ
今回は「Alexa-hostedスキルでHello World」をお届けしました。問題なくAlexaが「Hello World」といってくれたでしょうか?
今回も手順にしたがってポチポチしただけでスキルが動くようになってしまったので、少し物足りなかったでしょうか? ただひとまず「Alexa-hostedスキル」の手軽さはご理解いただけたのではないでしょうか? 次回も「Alexa-hostedスキル」を使っていきたいと思います。お楽しみに!
いや〜、「Alexa」って本当にいいものですね!