Вопросы

Сохранение файла в / tmp в лямбде изнутри папки

У меня есть задача скачать и закачать файлы на s3 с помощью лямбды, Scenerio как

  • Загрузите файл из s3 bucket1 (папка запроса) в lambda
  • Загрузите тот же файл в s3 bucket2 (папку запроса) из лямбды

И downloadFiles, и uploadFiles fn находятся внутри utils/s3.js внутри корневого каталога (var / task /) в лямбда-выражении.

Вот мои utils/s3.js файлы загрузки fn

exports.downloadFiles = async () => {
  try{
    const location = path.join( __dirname , `../tmp/text.txt`);
    console.log(location); // prints /var/task/tmp/text.txt
    console.log(__dirname); // prints /var/task/utils
    const params = {
      Bucket: 'bucket1',
      Key: `request/text.txt`
    };

    const { Body } = await s3.getObject(params).promise();
    fs.writeFileSync(location, Body);
    return;
  }catch(e){
    throw new Error(e.message);
  }
};

Теперь есть два случая,

  • Если я создаю папку в корневом каталоге tmp, выдает эту ошибку

    EROFS: файловая система только для чтения, откройте ‘/var/task/tmp/text.txt’

  • Если я этого не сделаю, тогда

    ENOENT: нет такого файла или каталога, откройте ‘/var/task/tmp/text.txt’

Теперь я прочитал большинство ответов на stackoverflow, я знаю, что должен сохранять файлы в /tmp/filename,, но почему я делаю то же самое, а это не работает, где я так ошибаюсь?

Читать:
Альтернативы положительному просмотру назад REGEX при использовании JDE

Что делать, если у меня уже есть sns-триггер для этой лямбда-функции на основе sns, который мне нужно загрузить?   —  person Vinita    schedule 08.07.2021

Я думаю, что у вас здесь плохой подход. Зачем использовать временную папку? Вы можете напрямую копировать файлы с помощью лямбда без необходимости загружать их во временную папку (также временная папка имеет ограничение в 500 МБ). Пример на Python (есть также некоторая автоматизация на основе триггера события, но вы можете видеть логику): geeksforgeeks.org/   —  person Vinita    schedule 08.07.2021

Похожие записи

Alpine.js — отображение поля ввода и одновременное добавление к нему фокуса

admin

Использование DevOps Release Pipeline для загрузки артефактов на сервер Linux

admin

Асинхронная функция не завершается

admin

Изменение порядка столбцов в R

admin

Небольшие значения на аллювиальном графике, когда уменьшение размера шрифта не является решением

admin

Как я могу вычислить это, используя только целочисленные типы данных?

admin