我正在创建一个使用AMAZON.DATE插槽的lex机器人。文档说我可以使用x-amz-lex:time-zone,我正在尝试解决如何从联系人流中设置它。
Get Customer Input块允许您指定会话属性。我已经尝试了以下键,但都没有用:x-amz-lex:time-zone和$.Lex.SessionAttributes.x-amz-lex:time-zone。
我觉得这肯定是可能的,但我似乎找不到通过会话属性指定此请求属性的正确方法。
不幸的是,today仍然是过去式。
发布于 2019-03-12 15:22:31
这是因为时区不是从sessionAttributes设置的,而实际上必须在requestAttributes中传递,因此Lex将相应地查找和设置时区。
希望Connect团队能让我们在未来真正将requestAttributes传递给Lex。
如果你现在必须让它工作,那么变通方法就会变得非常愚蠢。您可以创建另一个Lex bot,仅用于进行语音到文本转换并捕获用户所说的任何内容,然后将用户输入传递给Lambda函数,该函数使用PostText API将用户输入发送给您真正的Lex bot。您可以在PostText接口中设置requestAttributes并以此方式更新时区。
在Connect和Lex之间使用Lambda函数还有其他一些好处,比如捕获Lex错误或者记录Lex响应,或者在Lex处理输入之前和之后记录更多的分析数据。因此,额外的工作实际上可能是值得的。
https://stackoverflow.com/questions/55111534
复制相似问题