我有一个lambda函数,它成功地执行了一个名为GetEvent
的意图,该意图返回一个特定的字符串。为了测试目的,我已经为这个意图创建了一个话语(一个简单的话语,不需要任何可选的插槽来调用这个技能),但是当使用服务模拟器用这个话语测试lambda函数时,我会遇到表示"响应无效"
的lambda响应。下面是交互模型的样子:
#Intent Schema
{
"intents": [
{
"intent": "GetVessel",
"slots": [
{
"name": "boat",
"type": "LIST_OF_VESSELS"
},
{
"name": "location",
"type": "LIST_OF_LOCATIONS"
},
{
"name": "date",
"type": "AMAZON.DATE"
},
{
"name": "event",
"type": "LIST_OF_EVENTS"
}
]
},
{
"intent": "GetLocation",
"slots": [
{
"name": "event",
"type": "LIST_OF_EVENTS"
},
{
"name": "date",
"type": "AMAZON.DATE"
},
{
"name": "boat",
"type": "LIST_OF_VESSELS"
},
{
"name": "location",
"type": "LIST_OF_LOCATIONS"
}
]
},
{
"intent": "GetEvent",
"slots": [
{
"name": "event",
"type": "LIST_OF_EVENTS"
},
{
"name": "location",
"type": "LIST_OF_LOCATIONS"
}
]
}
]
}
使用适当的自定义技能类型语法,
#First test Utterances
GetVessel what are the properties of {boat}
GetLocation where did {event} occur
GetEvent get me my query
当向Alexa提供语句get me my query
时,lambda响应应该像在执行中一样输出字符串。我不知道为什么不是这样;这是我的第一个Alexa Skills Kit项目,所以我还是个新手。关于lambda函数、意图模式和话语是如何拼凑在一起的,有什么我不理解的吗?
更新:多亏了AWSSupport的帮助,我把问题缩小到了json请求中新会话标记为true
的区域。为了让话语有效,必须将其设置为false
(手动输入json请求时有效,在lambda执行期间也是如此)。为什么会这样?Alexa真的关心调用期间是否是一个新会话吗?几天前,我也在亚马逊开发者论坛上交叉发布了这篇文章,但还没有得到任何人的回复。
这可能改变,也可能没有改变--上次我使用服务模拟器时(大约两周前,在撰写本文时),它有一个非常严重的错误,这将导致请求映射到您的第一个/错误的意图,而不管实际的模拟语音输入。因此,即使你输入了一些随机的东西,比如瓦夫aaefgae
,它也只是试图将其映射到你定义的第一个意图,没有为所述意图提供可能导致意外结果的插槽。
你的问题很可能与此有关,因为你没有在你的示例话语中使用任何时隙,所以触发了同样的意外/错误行为
在花更多时间调试之前,我建议尝试使用实际的回音或其他方式https://echosim.io/--与“模拟器”不同,通过实际语音进行的交互效果与预期一致
有时您可能只需要在程序中的一个位置使用一个函数,并且该函数非常简单,您可能不会给它命名,或者可能不想将它存储在符号表中,而宁愿编写一个未命名或匿名的函数。 LISP允许您编写仅在程序中遇到它们时才计算的匿名函数。 这些函数称为Lambda functions. 您可以使用lambda表达式创建此类函数。 lambda表达式的语法如下 - (lambda (parameters) body) 无法
问题内容: 我有一个使用node.js express开发的移动应用程序后端。我尝试将其部署为lambda服务。为此,我创建了一个无服务器框架项目(https://github.com/serverless)。以前,我通过启动快速后端应用程序在本地测试了移动应用程序。现在,我找不到没有本地后端就可以在本地测试我的移动应用程序的方法。命令只在我调用一次后运行。 有什么方法可以将lambda函数作为W
运行lambda函数时,我得到一个Boto3无效参数异常。我正试图找到一种方法来处理这个异常。 我遇到了以下解决方案: 我使用的是python3,我知道boto现在已被弃用,并被boto3取代。但我在boto3中找不到等效的解决方案。 有人能帮我解决这个问题吗?
其实就是一个匿名函数,为什么叫lambda?因为和后面的函数式编程有关. 推荐: 知乎
问题内容: (如“家庭作业”标签所示,这是计算机科学中一项 大型 项目的一部分。) 我在写 危险! 使用tkinter在Python中进行模拟,而我在按钮中使用lambda函数时遇到了一个大问题。假设并且是一个列表。 有关所有代码,请参见我的小代码查看器(正在构建中!) 这就是出现问题的地方,因为当我单击板上的任何按钮时,它总是转到板上的最后一个按钮。我尝试了其他方法,不幸的是所有方法都使用过,而
我是Kotlin的新手,很难理解下面的代码 所以这个函数叫做,它的输入参数是一个名为的函数,它是