为了账号安全,请及时绑定邮箱和手机立即绑定

无服务器框架 - AWS Lambda 依赖项限制超过

无服务器框架 - AWS Lambda 依赖项限制超过

慕侠2389804 2021-10-19 16:48:52
我正在使用 AWS(一种呼叫中心,使用 Twilio)参与一个无服务器项目。我之前已经构建了另外 2-3 个小项目。不过,我现在正在使用无服务器框架。我目前没有使用它。所以我是 AWS 和 Serverless 的新手。我以某种方式关注下一个链接:https : //serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/所以我基本上使用这个 Python 依赖项:Flask、Twilio、boto3(用于 AWS)。请参阅下面的 requirements.txt。我卸载了一些软件包,但是可能有一些我可以清理的软件包:boto3==1.9.84botocore==1.12.84certifi==2018.11.29chardet==3.0.4Click==7.0docutils==0.14Flask==1.0.2idna==2.8itsdangerous==1.1.0Jinja2==2.10jmespath==0.9.3lazy-object-proxy==1.3.1MarkupSafe==1.1.0pipdeptree==0.13.2PyJWT==1.7.1PySocks==1.6.8python-dateutil==2.7.5pytz==2018.9requests==2.21.0s3transfer==0.1.13six==1.12.0twilio==6.23.1urllib3==1.24.1使用无服务器框架,在安装 boto3 之前,我能够毫无问题地部署(无服务器部署)项目。但是,现在我超出了允许的依赖项大小并收到此错误:An error occurred: AppLambdaFunction - Unzipped size must be smaller than 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).我被困在这一点上。我想我可以用旧的方式解决它,而不使用无服务器框架(直接在 AWS 中),但我想解决这个问题。是否可以部分安装 boto3?我的意思是,一种只安装我需要的模块的方法。还有其他想法吗?提前致谢。
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

幸运的是,您boto3在部署 Lambda 应用程序时不必捆绑。它已经存在于 Lambda python 执行环境中。随意从您的requirements.txt.

请注意,AWS 建议您捆绑自己的,因为 Lambda 中的那个可能不是完全最新的,但这仅当您想使用 AWS 的最新功能或服务时才重要。我已经使用捆绑的 2 年多了,一次没有遇到过问题。


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信