Вопросы

Сохранение файла в / 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,, но почему я делаю то же самое, а это не работает, где я так ошибаюсь?

Читать:
почему номер телефона не хранится в целочисленном типе данных?

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

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

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

график год-месяц-число по сравнению с весом

admin

Makefile не находит библиотеки

admin

Поиск Helm 3 не дает результатов от ACR

admin

Почему git не может видеть мое удаленное репо, которое, как я уверен, существует?

admin

Изменение столбцов для получения уникальных значений, транспонирование другого столбца и добавление процента этих уникальных значений.

admin

Ошибка Tidymodels / XGBoost в last_fit со значением rsplit

admin