2016-09-21 2 views
2

내 파이썬 람다 함수가 작동하는 데 문제가 있습니다. 스킬이 호출 될 때 만들어 져야하는 이벤트 배열에 대해 유효하지 않은 키를 얻습니다.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

문제는 내가 람다 기능 대시 보드의 잘못된 테스트를 구성한했다입니다 : 내가 오류입니다. Alexa Start Session로 변경하면 이벤트 객체가 생성됩니다. :)

+0

고마워요. :) – S200

1

우리는 방금 bstpy 프로젝트를 시작하여 파이썬 람다를 http 서비스로 노출했습니다. 테스트에 유용 할 수 있습니다. 컬이나 우편 배달부로 json 페이로드를 던질 수 있습니다. 다른 Bespoken Tools과 함께 사용해 본다면 아주 좋은 개발 환경을 가질 수 있습니다.

관련 문제