Edited at

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

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 と同様に属性の永続化処理が自動的に行われる。