Если в слоте нет значения, оно должно быть null
, а не None
.Похоже, Cloudwatch регистрирует null
как None
для вас.И это должно быть разницей между вашими переменными: slot
и d
.
Так вот что d
должно быть:
d="{'Intro': null, 'Start': null, 'ReturnBooking': null, 'name': null, 'pickup': null, 'conformation': null, 'location': null, 'Count': null, 'comfort': null}"
Но на самом деле нет причин для воссозданиястрока для слотов вашего намерения.Вы должны просто передать переменную slots=event['currentIntent']['slots']
обратно в Lex.И если вы хотите изменить слот в Lambda, обработайте его как массив и установите для одного из слотов новое значение:
slots['slotName'] = "new value";
Или вы можете удалить значение слота, установив для него значение null:
slots['slotName'] = null;
Затем верните slots
обратно к Лексу.