我已经使用 claudiajs 将我的 expressjs 代码部署到 lambda。当我命中生成的 API 端点时,每个备用请求都会给我内部服务器错误。我检查了日志并找到了这个
"errorType": "Error",
"errorMessage": "EROFS: read-only file system, mkdir '/var/task/logs'",
"code": "EROFS",
"stack": [
"Error: EROFS: read-only file system, mkdir '/var/task/logs'"
],
"cause": {
"errorType": "Error",
"errorMessage": "EROFS: read-only file system, mkdir '/var/task/logs'",
"code": "EROFS",
"stack": [
"Error: EROFS: read-only file system, mkdir '/var/task/logs'"
],
"errno": -30,
"syscall": "mkdir",
"path": "/var/task/logs"
},
"isOperational": true,
"errno": -30,
"syscall": "mkdir",
"path": "/var/task/logs"
}
我无法弄清楚可能是什么问题,以及为什么它只发生在备用请求而不是每个请求上。我该怎么做? 任何帮助将不胜感激。
您可以将/tmp
目录用于某些临时文件,但也有 512Mb 的限制。
2022 年 3 月 24 日更新:
AWS Lambda 现在允许您配置 512 MB 到 10240 MB 之间的临时存储 (/tmp(。您最多可以免费使用 512 MB,并且需要为在调用期间配置的超出可用限制的存储量付费。
检查以下链接:
AWS Lambda LimitsAccess Amazon CloudWatch Logs for AWS Lambda
AWS Lambda 现在支持高达 10 GB 的临时存储
Lambdadosen't allow you to write the space allocated
给你。
由于您正在尝试创建一个目录可能是写入日志,因此它会给您错误。
要使用 lambda 编写应用程序日志,您可以使用 AWS Cloudwatch 日志流式传输。
https://www.npmjs.com/package/lambda-log