如何在lambda值中获取自定义槽类型值

时间:2018-02-20 11:21:20

标签: amazon-web-services aws-lambda amazon-lex

我在Amazon Lex bot中创建了自定义插槽类型。现在我需要为该插槽类型添加一些验证。我需要在lambda函数中做到这一点。我正在使用NodeJS for Lambda。有没有办法在lambda函数中获取自定义槽类型值。我提到了蓝图功能(OrderFlowers,BookAppointment)。但是他们没有在lambda中获取槽类型值。

谢谢, 内甚

1 个答案:

答案 0 :(得分:0)

从Lex进入Lambda的事件看起来就像下面的JSON对象。该示例适用于名为“TimerTest”的机器人。匹配的意图称为“MATCHED_INTENT_NAME”。该插槽称为“名称”。如果要对名为“Name”的插槽运行验证,可以在Lambda中将插槽值引用为event.currentIntent.slots.Name以运行验证代码。

{
	"messageVersion": "1.0",
	"invocationSource": "FulfillmentCodeHook",
	"userId": "UNIQUE_USER_ID",
	"sessionAttributes": {},
	"requestAttributes": null,
	"bot": {
		"name": "TimerTest",
		"alias": "$LATEST",
		"version": "$LATEST"
	},
	"outputDialogMode": "Text",
	"currentIntent": {
		"name": "MATCHED_INTENT_NAME",
		"slots": {
			"Name": "test"
		},
		"slotDetails": {
			"Name": {
				"resolutions": [],
				"originalValue": "test"
			}
		},
		"confirmationStatus": "None"
	},
	"inputTranscript": "test"
}

可在此处找到更多信息:https://docs.aws.amazon.com/lex/latest/dg/lambda-input-response-format.html

希望这有帮助。