Nav*_*zai 1 amazon-web-services aws-lambda
我试图在函数执行期间写入和读取 lambda 中的 /temp dir,我知道最好的方法是使用 S3,但对于这个项目,我必须使用节点文件系统
const fs = require('fs');
exports.handler = async (event) => {
const path = '/tem/hi.json';
const write = (file) => {
fs.writeFile(file, "Hello World!", function(err) {
if (err) return console.log(err);
return {
statusCode:200,
body:JSON.stringify('data was written')
};
});
};
return write(path);
};
Run Code Online (Sandbox Code Playgroud)
您的文件路径有拼写错误。
改变
const path = '/tem/hi.json';
到
const path = '/tmp/hi.json';
另外,fs.writeFile是一个异步操作。做出承诺,这样你就可以await做到:
const write = file => {
return new Promise((res, rej) => {
fs.writeFile(file, JSON.stringify({ message: 'hello world' }), (err) => {
if (err) {
return rej(err)
}
return res({
statusCode: 200,
body: JSON.stringify({message: 'File written successfully'})
})
})
})
}
Run Code Online (Sandbox Code Playgroud)
最后,在您的客户端(处理程序的最后一行)上,只需像这样调用它:
return await write(path)
| 归档时间: |
|
| 查看次数: |
5927 次 |
| 最近记录: |