Я получаю эту ошибку от лямбды: errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"Error: Unable to stringify response body
Я пытаюсь запустить свою лямбду от загрузки в s3 (эта часть работает), а затем это должно что-то опубликовать в DynamoDB
вот моя лямбда в полном объеме
var AWS = require('aws-sdk');
var S3 = require('aws-sdk/clients/s3');
const s3 = new AWS.S3()
var DynamoDB = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
// TODO implement
var bucket = event['Records'][0]['s3']['bucket']['name']
var json_file_name = event['Records'][0]['s3']['object']['key']
var params = {
Bucket: bucket,
Key: json_file_name
};
const data = await s3.getObject(params).promise();
const dataToDb = data.Body.toString('utf-8');
console.log(dataToDb, 'TESTING ====')
var dbparams = {
TableName: "MY-TABLE-NAME",
Item: dataToDb,
};
const putIntoDB = await DynamoDB.put(dbparams, function (err) {
if (err) {
console.log(err, 'er===');
}
else {
console.log(dbparams, 'db====')
}
});
return putIntoDB
};
данные, поступающие с s3, - это просто объект json с 4 ключами, так что ничего большого. моя таблица состоит только из первичного ключа с именем user_id
, и это поле IS в моем объекте json, которое возвращается из S3, так что не знаете, почему это не работает?