5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Clova公式SDK(Node.js)をAWS Lambda上で動かす

Posted at

前提

ClovaスキルをLambda上で動かしたい。

構成

API Gateway + Lambda
この構成の設定についてはこちらの記事が詳細に書いてくださっています。
[入門]Clovaスキル(CEK)は作りながら覚えて行く(Lambda使ってコード実装編)

環境

Node.js 8.10
Lambdaでasyncを使えるのは8.10以降
参考: AWS Lambda が Node.js v8.10 をサポート

コード

当初はexpressを使う前提となっていたClova公式SDK(Node.js)ですが、こちらのPRによってexpressを使わずに.lambda()でシンプルに書けるようになりました。

公式サンプル.lambda()を使って書き換えるとこうなります。

const clova = require('@line/clova-cek-sdk-nodejs');

exports.handler = clova.Client
  .configureSkill()
  .onLaunchRequest(responseHelper => {
    responseHelper.setSimpleSpeech({
      lang: 'ja',
      type: 'PlainText',
      value: 'おはよう',
    });
  })
  .onIntentRequest(async responseHelper => {
    const intent = responseHelper.getIntentName();
    const sessionId = responseHelper.getSessionId();

    switch (intent) {
      case 'Clova.YesIntent':
        // Build speechObject directly for response
        responseHelper.setSimpleSpeech({
          lang: 'ja',
          type: 'PlainText',
          value: 'はいはい',
        });
        break;
      case 'Clova.NoIntent':
        // Or build speechObject with SpeechBuilder for response
        responseHelper.setSimpleSpeech(
          clova.SpeechBuilder.createSpeechText('いえいえ')
        );
        break;
    }
  })
  .onSessionEndedRequest(responseHelper => {
    const sessionId = responseHelper.getSessionId();

    // Do something on session end
  })
  .lambda();

その他

公式SDKの使い方

Clova公式SDK(Node.js)の使い方まとめ
公式SDKの基本的な使い方はこちらの記事がわかりやすいです。
(私自身、とても助かりました…!ありがとうございましたm(_ _)m)

Lambda関数の作り方

Clova公式SDK(Node.js)のAWS、Firebaseでの動かし方
使い方まとめと同じ方(@miso_develop )の記事。

API Gateway + Lambdaの設定

[入門]Clovaスキル(CEK)は作りながら覚えて行く(Lambda使ってコード実装編)
GUIでの設定方法。この方は公式ではなくオリジナルのSDKを使ってらっしゃいます。

参考

5
3
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?