【发布时间】:2021-10-13 00:00:20
【问题描述】:
我正在尝试从 EC2 实例下载文件并将其临时存储在 AWS Lambda 内的 tmp 文件夹中。这是我尝试过的:
let Client = require('ssh2-sftp-client');
let sftp = new Client();
sftp.connect({
host: host,
username: user,
privateKey : fs.readFileSync(pemfile)
}).then(() => {
return sftp.get('/config/test.txt' , fs.createWriteStream('/tmp/test.txt'))
}).then(() => {
sftp.end();
}).catch(err => {
console.error(err.message);
});
函数运行没有产生错误,但没有写入目标文件。我在这里做错了什么,我该如何调试?还有更好的方法可以做到这一点吗?
【问题讨论】:
-
在 AWS Lambda 函数中使用 SSH 并不是一项非常“类似于云”的活动。您是否考虑过替代方法,例如将文件存储在 S3 中的 EC2 实例,然后 Lambda 函数可以访问这些方法?
标签: node.js amazon-web-services aws-lambda ssh2-sftp