我正在创建一个使用AMAZON.DATE插槽的lex机器人。该文档说我可以使用x-amz-lex:time-zone
,并且正在尝试找出如何从“联系流程”中进行设置。
使用Get Customer Input
块可以指定会话属性。我尝试了以下按键无济于事:x-amz-lex:time-zone
和$.Lex.SessionAttributes.x-amz-lex:time-zone
。
我认为这是有可能的,但是我似乎找不到通过会话属性指定此请求属性的正确方法。
很遗憾,today
还在昨天。
答案 0 :(得分:0)
这是因为不是从sessionAttributes
设置时区,而是实际上必须在requestAttributes
中传递时区,因此Lex会寻找并相应地设置时区。
希望Connect团队将来允许我们将requestAttributes
实际传递给Lex。
如果必须立即运行,则解决方法变得很愚蠢。
您可以创建另一个Lex机器人,仅用于进行语音转文本并捕获用户所说的内容,然后将用户输入传递给Lambda函数,该函数使用PostText API发送给您的真实Lex机器人。您可以在PostText API中设置requestAttributes
并以此方式更新时区。
在Connect和Lex之间使用Lambda函数还有其他好处,例如在Lex处理输入之前和之后捕获Lex错误或记录Lex响应或记录更多分析数据。因此,额外的工作实际上可能是值得的。