如何将外部输入(无声音)发送给Alexa技能并获得响应?

时间:2019-06-21 10:38:58

标签: python aws-lambda amazon-sqs alexa alexa-skills-kit

我正在尝试找到一种方法,使alexa技能在接收到外部非声音事件时说话(响应)。该应用程序接收到队列内在Amazon-SQ上发生的事件。 lambda应用程序已连接,并触发通过函数发生的事件:

def lambda_handler(事件,上下文)

在这一点上,我想让Alexa技能通过告诉我事件已经发生来回答我。为此,我应该创建一个Json输入以发送给技能,我可以在开始技能时记录事件['session']的数据,但是如何传递事件['request']的数据来启动意向?

例如,这是我在alexa模拟器请求午餐时输入的json:

{
    "version": "1.0",
    "session": {
        ...
    },
    "context": {
        "...
    },
    "request": {
        ...
    }
}

我可以通过将数据保存在dynamodb表上来重新创建会话字典,但是对于上下文和请求?

也许我的做法完全错误。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

看看:https://developer.amazon.com/docs/smapi/proactive-events-api.html。这是进行主动发言的支持方式,可能对您来说足够

答案 1 :(得分:0)

这听起来很有趣,我想知道您是如何保持打开技能状态的,或者您试图在事件发生后立即打开技能状态的功能?

我了解,一旦事件发生,您需要启动技能,然后在LaunchRequest中执行语音(响应)。这里最棘手的部分是启动/启动/打开技能。

您还可以尝试使用请求和响应拦截器来捕获整个请求并做出响应。

如果可能的话,我会做一点探讨。

谢谢:D