私はFTPのファイルを一覧表示するためにいくつかの基本的なJSを書いたが、私は得る:AWS LambdaはS/FTPに到達/対話できますか?
があるためラムダは、FTPと対話することができないということです「プロセスは、要求を完了する前に終了しましたか」?
私はjsftp btwを使用しています。ここで
は私の設定です:
- 私はラムダのためのプロジェクト
- を作成するためにServerlessを使用し、私はnodejsを使用し、私は、FTPのものに対処するためにJSFTPを使用しています。
マイコード:
// Require Serverless ENV vars
var ServerlessHelpers = require('serverless-helpers-js').loadEnv();
// Require Logic
var lib = require('../lib');
// Lambda Handler
module.exports.handler = function (event, context) {
lib.respond(event, function (error, response) {
return context.done(error, response);
});
};
私のftpラムダコード:私はすべての場所でいくつかはconsole.log()を追加し、それが一度窒息、それはしようとしたようにそれはそう
var JSFtp = require("jsftp");
module.exports.respond = function (event, cb) {
var ftp = new JSFtp({
host: "host",
user: "user",
password: "password"
});
ftp.auth(ftp.user, ftp.password, function(err, res) {
if (err) console.log(err);
else console.log(res);
ftp.ls(".", function (err, res) {
var results = [];
res.forEach(function (file) {
results.push(file.name);
});
ftp.raw.quit();
return cb(null, results.length);
})
});
};
ftp.auth。
私は雲の時計に表示さ出力:
START RequestId: __ID__ Version: $LATEST
END RequestId: __ID__
REPORT RequestId: __ID__ Duration: 526.46 ms Billed Duration: 600 ms Memory Size: 1024 MB Max Memory Used: 33 MB
Process exited before completing request
それだけでどこかに窒息のようなので、それが見えます...
ラムダ関数のデフォルトのタイムアウトは3秒です。あなたの電話には時間がかかり、終了することがあります。 –
プロセスがクラッシュしている(ログにエラーがないかどうか)か、最後にcontext.succeed()が呼び出されていないかのいずれかです。 –
@mbairdは、 – iCodeLikeImDrunk