Внутренняя ошибка сервера при запросе конечной точки - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть очень простая лямбда-функция, которую я создал в aws. Пожалуйста, смотрите ниже.

import json

print('Loading function')

def lambda_handler(event, context):
    #1. Parse out query string params
    userChestSize = event['userChestSize']

    print('userChestSize= ' + userChestSize)

    #2. Construct the body of the response object
    transactionResponse = {}
    transactionResponse['userChestSize'] = userChestSize
    transactionResponse['message'] = 'Hello from Lambda'

    #3. Construct http response object
    responseObject = {}
    responseObject['statusCode'] = 200
    responseObject['headers'] = {}
    responseObject['headers']['Content-Type'] = 'application/json'
    responseObject['body'] = json.dumps(transactionResponse)

    #4. Return the response object
    return responseObject

Затем я создал простой API с помощью метода GET. Он сгенерировал ссылку на конечную точку, чтобы я мог проверить свою лямбду. Поэтому, когда я использую свою ссылку https://abcdefgh.execute-api.us-east-2.amazonaws.com/TestStage?userChestSize=30

, я получаю

{"message": "Внутренняя ошибка сервера"}

Облачный журнал имеет следующая ошибка

'userChestSize': KeyError
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 7, in lambda_handler
    userChestSize = event['userChestSize']
KeyError: 'userChestSize'

Что я делаю не так? Я следовал базовым c инструкциям по созданию лямбда- и API-шлюзов.

1 Ответ

1 голос
/ 07 февраля 2020

event['userChestSize'] не существует. Я предлагаю регистрировать весь объект event, чтобы вы могли видеть, что на самом деле происходит в событии.

...