AWS Lambda: невозможно отправить файл на FTP - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть лямбда-функция, которая генерирует текстовый файл в корзине S3.Это может сделать это.Теперь проблема, с которой я сталкиваюсь, связана с тем, что этот же файл отправляется на FTP-сервер.FTP-сервер находится на том же VPC, и я использую модуль «обещание-ftp» для отправки файла на FTP.Когда это приложение работает само по себе (без лямбда-функции), оно отправляет файл, но как только я использую код в качестве лямбда-функции, загрузка по FTP завершается неудачно.Вот код для загрузки файла на FTP-сервер:

function CreatefileOnFTP(fileData, fileName, event, context, callback) {
    console.log('Sending file to FTP...');
    var buf = Buffer.from(fileData, 'utf-8');
    var ftp = new PromiseFtp();
    ftp.connect(config.ftpDetails)
        .then(function (serverMessage) {
            ftp.put(buf, fileName);
            console.log('File sent successfully to FTP...');
        }).then(function () {
            ftp.end();
            callback(null, 'File sent successfully to FTP...');
        });
}

Поскольку это рабочий код, я верю, что в консоли AWS должно быть что-то с конфигурацией.Кто-нибудь знает о настройках (создание конечной точки для VPC для доступа к FTP-серверу и т. Д.), Чтобы выполнить задачу?Более того, возможно ли это (загрузка по FTP) из лямбда-функции?Вот журнал облачных часов:

2019-04-23T07:05:53.984Z    03211d8d-e3f0-4c75-a938-386924601388 Unhandled rejection Error: Timeout while connecting to server at Timeout._onTimeout (/var/task/node_modules/@icetee/ftp/lib/connection.js:329:24) at ontimeout (timers.js:482:11) at tryOnTimeout (timers.js:317:5) at Timer.listOnTimeout (timers.js:277:5) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...