Help us understand the problem. What is going on with this article?

ASK SDK V2 for Node.js - PersistenceAdapter の使い方

More than 1 year has passed since last update.

SDK V2では、Skillインスタンスを作成する2つのSkillBuilderが含まれています。

  1. Custom Skill Builder
  2. Standard Skill Builder

Standard Skill Builder を使いたい場合は、デフォルトでDynamoDBPersistentAdopterが利用できるが、ask-sdk-coreパッケージを使いたい場合や、Custom Skill Builderを使いたい場合は、別途ask-sdk-dynamodb-persistence-adapterパッケージをロードして、使用することになる。

ask-sdk-dynamodb-persistence-adapterパッケージは、AWS DynamoDBを使ってPersistenceAdapterを実装するものです。

1. ask-sdk-dynamodb-persistence-adapterパッケージをダウンロードする

npm install --save ask-sdk-core
npm install --save ask-sdk-dynamodb-persistence-adapter

2. DyanamoDBAdopterのインスタンスを生成する。

const Adapter = require('ask-sdk-dynamodb-persistence-adapter');

const config = {tableName: 'hogehoge_table', // <= DynamoDBのテーブル名
                createTable: true}; // <= テーブルを自動生成する場合true (ただし権限が必要)
const DynamoDBAdapter = new Adapter.DynamoDbPersistenceAdapter(config);

3. Custom Skill BuilderにAdopterを登録する

const skillBuilder = Alexa.SkillBuilders.custom(); // <= Custom Skill Builder

exports.handler = skillBuilder
  .addRequestHandlers(
    LaunchRequestHandler,
    HelpIntentHandler,
    StopIntentHandler,
    SessionEndedRequestHandler
  )
  .withPersistenceAdapter(DynamoDBAdapter) // <= ここを追加
  .addErrorHandlers(ErrorHandler)
  .lambda();

これで、Standard Skill Builder と同様に属性の永続化処理が自動的に行われる。

toshimin
会社でAlexaの仕事をしていますが、ここに書かれている内容はあくまで個人のメモ書きです。会社としての公式な情報や見解ではありませんのでご了承ください。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away