OSError:[Errno 28]设备上没有剩余空间-AWS Lambda + Zappa

时间:2020-09-20 23:00:12

标签: python-3.x aws-lambda zappa

我已经使用Zappa在AWS lambda上部署了一个应用程序。我在zappa tail中收到错误-OSError:设备上没有剩余空间。 文件大小很大,所以我也使用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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这是一个内存问题。 清理代码,然后virtualenv解决了该问题。 删除了不需要的额外库,以减少空间。