Простая интеграция Lambda POST с DynamoDB.Вставляет одну запись в Динамо при исполнении.Хорошо работает при тестировании в AWS Lambda .
Выход ответа:
{
"isBase64Encoded": false,
"statusCode": 204,
"headers": {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": true
},
"body": "{}"
}
Этот ответ программно определяется как часть обработки лямбда-ответа в соответствии с спецификацией (afaict).
Однако при запуске через тест в API Gateway я получаю 502
Внутренняя ошибка сервера.Я использую интеграцию Lambda-Proxy, как показано ниже:
Журналы Cloudwatch показывают:
{ ValidationException: Supplied AttributeValue is empty, must contain exactly one of the supported datatypes
at Request.extractError
с ограниченным использованием стека трассировки (webpackхешировал код довольно хорошо).Вышеуказанная ошибка может указывать на то, что DynamoDB не получает полезную нагрузку правильно или в формате, который требует наличия обязательных атрибутов.Однако я взял тот же JSON, который использовался для (успешных) тестов (настройка уникальности идентификаторов между запусками) из lambda, и считаю, что мой заголовок запроса (Content-Type: application / json) является разумным.
Есть какие-нибудь мысли / помощь по сужению проблемы?Я могу опубликовать дополнительную информацию по запросу, если это поможет.