SDK V2では、Skillインスタンスを作成する2つのSkillBuilderが含まれています。
- Custom Skill Builder
- 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 と同様に属性の永続化処理が自動的に行われる。