当我在AWS中为我的alexa技能测试lambda函数时,我得到了下面的错误,似乎事件没有被创建……
Response:
{
"stackTrace": [
[
"/var/task/lambda_function.py",
248,
"lambda_handler",
"if event['session']['new']:"
]
],
"errorType": "KeyError",
"errorMessage": "'session'"
}
Request ID:
"0cbd2940-546a-11e8-a94b-fd8aec55358d"
Function Logs:
START RequestId: 0cbd2940-546a-11e8-a94b-fd8aec55358d Version: $LATEST
'session': KeyError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 248, in lambda_handler
if event['session']['new']:
KeyError: 'session'
这里有lambda函数的代码
def lambda_handler(event, context):
""" App entry point """
#print(event)
if event['session']['new']:
on_session_started()
if event['request']['type'] == "LaunchRequest":
return on_launch(event['request'])
elif event['request']['type'] == "IntentRequest":
return on_intent(event['request'], event['session'])
elif event['request']['type'] == "SessionEndedRequest":
return on_session_ended()
以下是会话部分的json输入
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.894e0116-055a-4307-8574-7059a24e8219",
"application": {
"applicationId": "amzn1.ask.skill.d01d3328-ce02-4357-9605-bb12d5cafce2"
},
"user": {
"userId": "amzn1.ask.account.AH7BOSFTFR54XGKQ3MYAK2LHCRK4CV5PUIS65HQWC4OY5B6NIBWJJSUJH73PBDZAG3KTPFI4QS7TYCZPRETM267GW3PVBJFSYXBAGTCH5YYKA2MUFAN43PFB4CNQD6M7QX5DWLC5AEGBDRR3SIH7SHJOFBAR3QWCOIYZLZ3D4Q7Z3SPCGVLRF3CCMQAOGUEAAGJMIHWVT6ADKCQ"
}
},
请帮帮忙,谢谢
发布于 2018-07-20 04:13:36
****Try this way****
def lambda_handler(event, context):
"""
"""
# print("event.session.application.applicationId=" +
# event['session']['application']['applicationId'])
if ('session' in event):
print("event.session.application.applicationId=" +
event['session']['application']['applicationId'])
if event['session']['new']:
on_session_started({'requestId': event['request']['requestId']},
event['session'])
if ('request' in event):
if event['request']['type'] == "LaunchRequest":
return on_launch(event['request'], event['session'])
elif event['request']['type'] == "IntentRequest":
return on_intent(event['request'], event['session'])
elif event['request']['type'] == "SessionEndedRequest":
return on_session_ended(event['request'], event['session'])
https://stackoverflow.com/questions/50276920
复制相似问题