У меня есть лямбда-функция, которая использует «запрос», чтобы получить поток файла по URL и предположить, чтобы загрузить его в корзину на s3.Он отлично работает на моей локальной машине, используя узел, но не внутри лямбды.После запуска лямбды у меня есть пустой файл с именем, которое я хотел.
Материал, который вы должны знать
- Функция лямбда - асинхронная
- Версия узла - 8.10
- В примере вы видите putObject, но я также пытался с загрузкой
- Даже при добавлении ручного режима сна на 90-120 секунд, чтобы запустить лямбду,файл не загружен
- Я пытался использовать context.succeed или обратный вызов («некоторый результат»), но он все равно не работал должным образом
Это важная частькода
module.exports.handler = async(event, context, callback) => {
const path = 'bucketToUpload';
const name = 'imageFileName.jpg';
let options = {
uri: responseUrl, // This is the url of the image
encoding: null
};
let reqRes = await request(options); // Here I have the stream
let awsPutRes = await s3.client.putObject({
Body: reqRes.body,
Key: name,
Bucket: path
}).promise();
};
Буду очень признателен за любую помощь или указания по этому вопросу.