2016-09-21 2 views
2

У меня проблема с работой моей лямбда-функции python. Я получаю недействительный ключ для массива событий, который должен быть создан при вызове навыка. Ошибки я получаю:Alexa lambda_handler не создает сеанс событий

{ 
    "stackTrace": [ 
     [ 
      "/var/task/lambda_function.py", 
      163, 
      "lambda_handler", 
      "app_id = event['session']['application']['applicationId']" 
      ] 
    ], 
    "errorType": "KeyError", 
    "errorMessage": "'session'" 
} 

и вот мой код

def lambda_handler(event, context): 


"""Lambda function entrypoint.""" 
# print("event.session.application.applicationId={}".format(
#  event['session']['application']['applicationId'])) 

# Prevent unwanted access to this Lambda function. 
app_id = event['session']['application']['applicationId'] 
if app_id != "amzn1.ask.skill.yyyyyyyy-xxx": 
    raise ValueError("Invalid Application ID: {}".format(app_id)) 

request = event['request'] 

if event['session']['new']: 
    on_session_started(
     {'requestId': request['requestId']}, event['session']) 

func_map = { 
    "LaunchRequest": on_launch, 
    "IntentRequest": on_intent, 
    "SessionEndedRequest": on_session_ended, 
} 

return func_map[request['type']](event['request'], event['session']) 

ответ

5

Проблема была я настроена неправильно тест на функции приборной панели Lambda. Когда я изменил его на стартовую сессию Alexa, объект события был создан. :)

+0

Исправлено для меня, спасибо :) – S200

1

Мы только что начали проект bstpy, чтобы разоблачить лямбду Python в качестве службы http. Вы можете найти это полезным для тестирования. Вы можете набрасывать на него json-файлы с помощью завитка или почтальона. Если вы попробуете его с другими Bespoken Tools, вы можете иметь очень приятную среду для разработки

Смежные вопросы