Я довольно новичок в AWS Lambda и столкнулся с проблемой.Я занимаюсь разработкой в Node и загружаю файл JSON (довольно большие по 12-25 МБ) из моего S3, выполняю некоторую обработку и пытаюсь загрузить результат в виде JSON обратно в S3.
Я следовал этому уроку: https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html, который по сути делает то же самое.
Моя проблема заключается в том, что моя лямбда-тайм-аут всегда вызывает при вызове JSON.stringify
объект, который я получаю в результате обработки данных, и, следовательно, файл никогда не загружается обратно в S3.Результатом моей обработки также является довольно большой объект, но он все еще меньше в качестве входных данных (около 10 МБ).
Я уже пытался использовать библиотеку fast-json-stringify
, но в итоге получил тот же результат.
Кто-нибудь знает, есть ли другой быстрый способ конвертировать объект в строку, буфер или поток?
ОБНОВЛЕНИЕ
Вот мой код:
async.waterfall(
[
(next) => {
s3.getObject({
Bucket: bucketName,
Key: keyDownload
}, next);
},
(response, next) => {
next(null, processData(JSON.parse(response.Body)));
},
(data, next) => {
s3.putObject({
Bucket: bucketName,
Key: keyUpload,
Body: JSON.stringify(data)
}, next);
}
],
(err) => {
if (err) {
callback(err);
} else {
callback();
}
}
);