【发布时间】:2021-01-07 02:02:30
【问题描述】:
我已经使用 Zappa 在 AWS lambda 上部署了一个应用程序。我在 zappa tail 中收到错误 - OSError: No space left on device。 文件很大,所以我也在使用 S3。以下是我的 zappa 设置。
{"dev": {
"app_function": "app.app",
"profile_name": "default",
"aws_region": "------",
"project_name": "----",
"runtime": "python3.6",
"s3_bucket": "------",
"timeout_seconds": 300,
"slim_handler": true
}
}
下面是堆栈跟踪:
[Errno 28] No space left on device: OSError
Traceback (most recent call last):
File "/var/task/handler.py", line 609, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 240, in lambda_handler
handler = cls()
File "/var/task/handler.py", line 97, in __init__
self.load_remote_project_archive(project_archive_path)
File "/var/task/handler.py", line 169, in load_remote_project_archive
t.extractall(project_folder)
File "/var/lang/lib/python3.6/tarfile.py", line 2012, in extractall
numeric_owner=numeric_owner)
File "/var/lang/lib/python3.6/tarfile.py", line 2054, in extract
numeric_owner=numeric_owner)
File "/var/lang/lib/python3.6/tarfile.py", line 2124, in _extract_member
self.makefile(tarinfo, targetpath)
File "/var/lang/lib/python3.6/tarfile.py", line 2173, in makefile
copyfileobj(source, target, tarinfo.size, ReadError, bufsize)
File "/var/lang/lib/python3.6/tarfile.py", line 252, in copyfileobj
dst.write(buf)
OSError: [Errno 28] No space left on device
有什么建议吗?
【问题讨论】:
-
Lambda 似乎不是适合您的解决方案。您是否查看过自己的 EC2 或其他 AWS 技术?
-
还没有,但需要知道为什么会出现这个问题以及我该如何处理?我正在使用 S3 来处理空间问题。
-
看起来你正在远程加载一些东西并试图解压它(猜测是因为没有代码)。您现在是否正在尝试流式传输到 S3?我们只是猜测,没有一些代码。
-
它将代码的压缩版本上传到 s3 然后解压缩。肯定有代码。
-
解压后的代码必须小于250MB。你的代码部署包解压后有多大?
标签: python-3.x aws-lambda zappa