Файл доступа AWS Lambda с относительным путем - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь получить доступ к относительному файлу (который мне нужно поместить в Lambda), чтобы я мог изменить содержимое этого файла и отправить ответ как часть API ответа шлюза. Я могу сгенерировать совершенно новый .xlsx файл и отправить клиенту. Но требование состоит в том, чтобы изменить содержимое заданного .xls (из относительного пути файловой системы).

let XlsxPopulate = require('xlsx-populate');
exports.handler = async (event, ctx, cb) => {

    XlsxPopulate.fromFileAsync('./sample.xlsx')
                .then(workbook => {
                    //.... Modfy content
                    return {
                           statusCode: 200,
                           headers: {
                               'access-control-allow-origin': '*',
                           },
                           body: modifiedWorkbook,
                           isBase64Encoded: true
                       }
        });
};

1 Ответ

0 голосов
/ 11 мая 2018

У AWS Lambda есть доступ только к /tmp, и это местоположение ограничено 512 МБ. Смотри https://docs.aws.amazon.com/lambda/latest/dg/limits.html.

Однако не считайте, что лямбда-функции должны быть без сохранения состояния, не рассчитывайте на то, что они сохранят что-то и получат доступ к нему при следующем вызове, так как экземпляр функции лямбда может быть diff.

Хорошей стратегией было бы поместить файлы в S3 и модифицировать их локально.

Как уже упоминалось @Mukund, вы можете скопировать с S3 на /tmp и обновить их локально, а затем загрузить обратно на S3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...