是否可以将alexa输出连接到amazon SQS



我已经创建了一个alexa智能家居功能,并希望异步运行它,因此计划使用amazon sqs(Simple que service(功能。我将amazon的sqs触发器输出连接到lambda函数,并成功地将消息从sqs发送到lambda。现在需要将alexa连接到sqs输入。当我尝试在alexa开发者控制台中使用sqs-arn时,它不支持它。有什么方法可以解决这个问题吗?或者alexa只支持lambda函数进行调用。

alexa的技能是让智能家居服务控制开关(打开/关闭(,因此当由于lambda的同步执行而试图控制多个开关时,它会一个接一个地打开开关。我需要一次性控制它们,因此需要lambda的异步执行,其中请求需要在不等待响应的情况下执行。

提前感谢您的回答。

它不会工作,因为SQS异步工作,只回复放在那里的消息。但是Alexa需要一个带有语音标签等的有效JSON响应,而SQS无法实现这一点。您可以做什么:Alexa->Lambda(新(->SQS-Lambda在你新创建的lambda中,你可以给Alexa一个有效的回复,并在SQS中放入一条消息。

AWS Lambda可以异步工作。您可以让一堆后端进程根据需要工作,根据需要触发各种Lambda。

但与Alexa的交换会打开一个到后端的会话,发送其请求,完整的响应预计会结束该会话。该响应可能具有下载其他内容以合并到响应中的指令,例如声音文件或延迟加载APL中的列表。但它期待得到全面回应。

如果你学习了构建Alexa技能的基本Cake Time教程,他们实际上会对一些API使用异步等待,因为响应必须在发送之前完成。

有一些异步API,比如提醒和主动事件,但它们不是对话式的。它们是独特的单向消息。

真正的问题是,为什么你觉得你需要这样做,以及你通过排队来优化什么?

最新更新