Лямбда-функция Python возвращает KeyErrorPython

Программы на Python
Anonymous
Лямбда-функция Python возвращает KeyError

Сообщение Anonymous »

Я пытаюсь создать простую функцию Lambda с использованием Python 3.6.

Функция должна получить идентификатор пользователя (мой первичный ключ в DynamoDB) в параметрах строки запроса запроса. и возвращает 200, если элемент существует в БД, вот моя лямбда-функция

Код: Выделить всё

import boto3
import os
from boto3.dynamodb.conditions import Key, Attr

def lambda_handler(event, context):

userId = event["userId"]

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(os.environ['Customers'])
items = table.query(
KeyConditionExpression=Key('userId').eq(userId)
)

return items["Items"]
Когда я провожу тесты в интерфейсе Lambda, он работает и возвращает правильного пользователя, однако при попытке из Postman или с помощью API Gateway он возвращает следующую ошибку

Код: Выделить всё

{
"errorMessage": "'userId'",
"errorType": "KeyError",
"stackTrace": [
[
"/var/task/index.py",
7,
"lambda_handler",
"userId = event["userId"]"
]
]
}
  • Что мне здесь не хватает?
  • Пытаюсь понять «событие», в документации указано, что это словарь Python
    , но как я могу распечатать его результат и фактически отладить лямбда-выражение
    при вызове из Postman или API Gateway?


Подробнее здесь: https://stackoverflow.com/questions/475 ... s-keyerror

Вернуться в «Python»