SFTP 上传在 Node.js 的 lambda 函数中不起作用
我正在尝试使用 Node.js 中的 ssh2-sftp-client 将单个或多个文件从本地文件夹上传到 sftp 文件夹。
我正在尝试使用 Promise.all
上传文件。该代码在本地测试时工作正常,但当我将代码上传到 AWS lambda 时。消息显示文件已成功上传,但当我检查 FTP 文件夹时,看不到任何已上传的文件。这是我正在使用的代码。
exports.handler= async (event)=>{
var Files = await Promise.all(FilesLIst.map(async (file) =>UploadToFtp(_customer,dir,file)));
}
function UploadToFtp(_customer,dir,file){
// let data = fs.createReadStream(dir+'/'+file);
let remote = _customer.FTPPath + '/' + file;
let client = new Client;
const config = {
host: _customer.FTPHost,
port:_customer.FTPPort,
username:_customer.FTPUserName,
password: _customer.FTPPassword,
};
return new Promise((res,rej)=>{
client.connect(config)
.then(() => {
let data=fs.readFileSync(dir+'/'+file);
return client.put(data, remote);
})
.then(() => {
return client.end();
})//.then(()=>{ res()})
.catch(err => {
console.error(err.message);
//rej()
});
})
}
接下来我可以尝试什么?
I am trying to upload single or multiple files from local folder to sftp folder using ssh2-sftp-client in Node.js.
I am trying to upload files using Promise.all
. The code works fine when tested locally, but when I upload the code to the AWS lambda. Messages show files uploaded successfully but when I check the FTP folder I can't see any files uploaded. Here is the code I am using.
exports.handler= async (event)=>{
var Files = await Promise.all(FilesLIst.map(async (file) =>UploadToFtp(_customer,dir,file)));
}
function UploadToFtp(_customer,dir,file){
// let data = fs.createReadStream(dir+'/'+file);
let remote = _customer.FTPPath + '/' + file;
let client = new Client;
const config = {
host: _customer.FTPHost,
port:_customer.FTPPort,
username:_customer.FTPUserName,
password: _customer.FTPPassword,
};
return new Promise((res,rej)=>{
client.connect(config)
.then(() => {
let data=fs.readFileSync(dir+'/'+file);
return client.put(data, remote);
})
.then(() => {
return client.end();
})//.then(()=>{ res()})
.catch(err => {
console.error(err.message);
//rej()
});
})
}
What can I try next?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论