amazon-web-services - 如何使用 Node.js 向 Lambda-AWS 写入和读取文件
问题描述
我试图在函数执行期间在 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);
};
解决方案
您的文件路径有错字。
改变
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'})
})
})
})
}
最后,在您的客户端(处理程序的最后一行)上,像这样调用它:
return await write(path)
推荐阅读
- xamarin - 在某些设备上抛出无效的面部检测类型 = 0 错误 - Xamarin.Android
- php - php 代码在 xampp localhost 上工作正常,但在实时服务器上不工作
- flutter - Flutter:状态类:为什么不在 setState 方法调用之前改变状态变量,而不是在 setState 方法中
- netlogo - 具有链接自有变量的直方图
- api - 如何删除标记在 aws api 上使用 Lambda 代理集成
- javascript - 如何在手机上播放音频?
- xml - 是否可以在处理之前更改 mountebank 中的请求正文?如果是,那么我们该怎么做呢?
- c++ - 头文件和源文件中的 typedef 返回类型 - 最佳实践是什么?
- c# - 在构建需要声明的策略时,我们是否需要包含 RequireAuthenticatedUser?
- django - PyCharm Django - 找不到要走的声明。对于 CSS 文件