Goal
Connect Amazon Lex with Kendra
Problem
.query()
is expected to return ResultItems
but it's returning ResultItems
undefined.
Progress
lambda:
var kendra = require("aws-sdk/clients/kendra");
var kendraClient = new kendra({apiVersion: "2019-02-03", region: "us-west-2"});
// var AWS = require("aws-sdk");
// var kendraClient = new AWS.Kendra();
exports.handler = async (event) => {
// TODO implement
try{
const kendraResponse = await kendraClient.query(
{
IndexId: process.env.KENDRA_INDEX,
QueryText: event.inputTranscript,
QueryResultTypeFilter: "QUESTION_ANSWER",
PageNumber: 1
})
console.log("this is kendraResponse", kendraResponse);
console.log("This is event", event);
const response = {
"dialogAction":
{
"fulfillmentState":"Fulfilled",
"type":"Close","message":
{
"contentType":"PlainText",
"content": kendraResponse.ResultItems ? "Got the response": "Sorry, unable to find the results"
}
}
}
return response;
} catch (error) {
console.log(error)
}
};
KendraResponse:
A very long JSON object with configuration fields
TIA