概要
ASK SDK for Node.js の Lambda ハンドラーの書き方メモ。
その1
ASK SDKのSkill
インスタンスを作成して、レスポンスとして返すパターン。
let skill;
exports.handler = async function(event, context) {
console.log(`REQUEST++++${JSON.stringify(event)}`);
if (!skill) {
skill = Alexa.SkillBuilders.custom()
.addRequestHandlers(
LaunchRequestHandler,
HelpIntentHandler,
CancelAndStopIntentHandler
)
.addErrorHandlers(ErrorHandler)
.create();
}
const response = await skill.invoke(event, context);
console.log(`RESPONSE++++${JSON.stringify(response)}`);
return response;
};
その2
ASK SDK v2 for Node.js のlambda
ビルダー関数を使うと簡単に書ける。
exports.handler = Alexa.SkillBuilders.custom()
.addRequestHandlers(
LaunchRequestHandler,
HelpIntentHandler,
CancelAndStopIntentHandler
)
.addErrorHandlers(ErrorHandler)
.lambda();