Как обрабатывать лямбда-ответы на Amazon Lex? - PullRequest
1 голос
/ 06 февраля 2020

Я хочу сохранить входные данные, полученные в Amazon Lex Chatbot, в Amazon DynamoDB через Lambda Integration. Как обрабатывать ответы от Amazon Lambda. Я получаю сообщение об ошибке: - ( Произошла ошибка: неверный лямбда-ответ: получен неверный ответ от лямбды: неожиданный токен (END_OBJECT), ожидается FIELD_NAME: отсутствует свойство 'type', которое должно содержать идентификатор типа (для класса DialogAction) . nullTickets on null at null "}}}; строка: 1, столбец: 164] )

Пожалуйста, помогите в этом. Мой лямбда-код Amazon выглядит следующим образом:

exports.handler = (событие, контекст, обратный вызов) => {

var Name = event.currentIntent.slots.Name;
var TicketType = event.currentIntent.slots.TicketType;
var BookingDate = event.currentIntent.slots.BookingDate;
var BookingTime = event.currentIntent.slots.BookingTime;
callback(null, {
    "dialogAction": {
        "Type":"Close",
        "fulfillmentState": "failed",
        "message": {
            "ContentType": "PlainText",
            "Content":  "Hey " +Name+ ",  Your Requested "+ TicketType + "Tickets on " +BookingDate+" at " +BookingTime+"" ,
        }
    }

})

}

1 Ответ

1 голос
/ 06 февраля 2020

Ниже приведен типичный ответ для Lex от Lambda.

Существует опечатка в "type", пожалуйста, используйте ее в нижнем регистре ("type" вместо "Type")

{
    "sessionAttributes": {
    "key1": "value1",
    "key2": "value2"
    ...
  },
  "recentIntentSummaryView": [
    {
       "intentName": "Name",
       "checkpointLabel": "Label",
       "slots": {
         "slot name": "value",
         "slot name": "value"
        },
       "confirmationStatus": "None, Confirmed, or Denied (intent confirmation, if configured)",
        "dialogActionType": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
        "fulfillmentState": "Fulfilled or Failed",
        "slotToElicit": "Next slot to elicit
    }
  ],
  "dialogAction": {
    "type": "ElicitIntent, ElicitSlot, ConfirmIntent, Delegate, or Close",
    Full structure based on the type field.
  }
}

Ссылка: https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html#using -lambda-response-format

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...