AlexaでSkillを作ってみよう、その2

「AlexaでSkillを作ってみよう、その１」からの続きです。
https://qiita.com/sanoh/items/26014808186cfd8f95f5
サーバーとの連携：今回はLambdaを使用します。
■Setp6:Lambda作成
---
![2019-03-05 (5).png](https://qiita-image-store.s3.amazonaws.com/0/122121/91b1074f-ba48-420b-fa28-a792a4f4dc94.png)
コンソールにログインしてください。
https://aws.amazon.com/jp/

![2019-03-05 (6).png](https://qiita-image-store.s3.amazonaws.com/0/122121/7c838d9e-cdae-b481-7d18-19733fbf3dfd.png)
この中に「Lambda」がありますので、選択します。
![2019-03-05 (7).png](https://qiita-image-store.s3.amazonaws.com/0/122121/a9a1ab2a-55d6-63d4-668c-c0f00286bd5b.png)
の画面が現れたら「関数の作成」をします。
![2019-03-05 (8).png](https://qiita-image-store.s3.amazonaws.com/0/122121/6111887c-3501-30a3-290a-e0b0afae5370.png)
関数の作成には「設計図」を選択すると、下にいろいろと出てきますので「Alexa-skill-kit-sdk-factskill」を選択してください。
![2019-03-05 (9).png](https://qiita-image-store.s3.amazonaws.com/0/122121/473a798e-e11d-4a3a-7e31-380ca89959c1.png)
名前は今回は暫定的に「foodTest01」としロールは「既存のロールを選択」既存のロールは「lambda_basic_executuin」で
![2019-03-05 (10).png](https://qiita-image-store.s3.amazonaws.com/0/122121/1bc8f2a9-c2af-f27f-1bcc-fa2cf2e6d023.png)
下の穂に「関数の作成」ボタンがありますので、そこで作成をします。
■Step7:Alexa Skills Kit の設定
---
![2019-03-05 (12).png](https://qiita-image-store.s3.amazonaws.com/0/122121/77a85070-4198-e17b-2427-eea57d212c72.png)
「Alexa Skulls Kit」を選択すると、トリガーの設定があらわれますので、スキルIDを設定します。
このすきるIDに関しては別のブラウザで「AlexaでSkillを作ってみよう、その１」で使用したAlexa Skills Kit にアクセスします。
![2019-03-05 (14).png](https://qiita-image-store.s3.amazonaws.com/0/122121/fe4dcba0-b6b9-b1f2-c896-0a98d94073f6.png)
「エンドポイント」の「AWS LambdaのARN」を選択すると、この画面になるので、ここの現れた　スキルID　をLambdaの設定します。
![2019-03-05 (15).png](https://qiita-image-store.s3.amazonaws.com/0/122121/a6d8f966-b894-8c99-306a-e72a52b278f5.png)
「追加」を押して設定できます、これでます、AlexaSkillsKitからLambdaへの繋がりができました、こんどは逆に
LambdaからAlexaSkillsKitの繋がりを設定します。
![2019-03-05 (16).png](https://qiita-image-store.s3.amazonaws.com/0/122121/cd58770f-781f-f57f-b3cc-5b9ab6f2414f.png)
まずは「保存」をしたあとにARNとかかれた部分をコピーします。
![2019-03-05 (18).png](https://qiita-image-store.s3.amazonaws.com/0/122121/f30cc90c-193c-f9d0-a060-2c7b19823893.png)
さきほどのAlexaSkillsKitのデフォルトの地域に、ARNの部分をコピーし、最後「エンドポイントの保存」を押してください。
これで、双方向の通信が可能になりました。
■Setp8:Node.jsの作成。
---
![2019-03-05 (21).png](https://qiita-image-store.s3.amazonaws.com/0/122121/ddc59ee8-38cb-7656-1afc-e7c621121de4.png)
「foodTest01」を選択するとしたに関数コードが現れます。
今回は

```javascript
'use strict';
var Alexa = require('alexa-sdk');
var APP_ID = undefined;

var handlers = {
    'LaunchRequest': function () {
        this.emit(':ask', 'どうしましたか', 'どうしましたか');
    },
    'commandProc': function () {
        var food = this.event.request.intent.slots.food.value;
        var feel = this.event.request.intent.slots.feel.value;
        this.emit(':tell', '私も'+food+'は'+feel+'です');
    },  
};

exports.handler = function (event, context, callback) {
    const alexa = Alexa.handler(event, context, callback);
    alexa.APP_ID = APP_ID;
    alexa.registerHandlers(handlers);
    alexa.execute();
};
```
とします。
■Step9：プログラムのテスト
---
![2019-03-05 (12) - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/122121/ebf6033b-8143-29d2-7a0a-145ced213360.png)
上の「テストイベントの選択」をまず、します。
![2019-03-05 (23).png](https://qiita-image-store.s3.amazonaws.com/0/122121/5f2b4842-91af-98ec-6a34-fce2b4f29d23.png)
イベントテンプレートを「Amazon Alexa Starts Session」を選択
イベント名はとりあえず「StartTest」として「作成」ボタンをおします。
![2019-03-05 (25).png](https://qiita-image-store.s3.amazonaws.com/0/122121/f8a6ecef-7fe9-379c-bc86-77400fd64e30.png)
「テスト」ボタンをおして、実行結果：成功がでればOKです。

■Step10：動作確認
---
![2019-03-05 (26).png](https://qiita-image-store.s3.amazonaws.com/0/122121/f4f35509-7cf0-49cb-7ea8-351b654ddb3a.png)
AlexaSkillsKitに戻り、「テスト」を選択します。
そして「開発中」に設定することで、ブラウザ上で、Alexaのテストができます。
![2019-03-05 (27).png](https://qiita-image-store.s3.amazonaws.com/0/122121/aa1512fd-5a29-12a9-1bfa-e3422106a311.png)
最初「食べ物を起動して」と入力し、スキルを起動させたあとに「スイカが好きです」と入力すればAlexaが「私もスイカは好きです」とかえしてくれます。