creating Lambda lambda.setupRequestListeners
{ RequestEntityTooLargeException: Request must be smaller than 69905067 bytes for the CreateFunction operation
message: 'Request must be smaller than 69905067 bytes for the CreateFunction operation',
code: 'RequestEntityTooLargeException',
time: 2017-06-22T08:30:52.260Z,
requestId: 'xxx',
statusCode: 413,
retryable: false,
retryDelay: 89.31111557639109
}是我的项目太大了,还是这里发生了什么?我可以通过S3上传吗?还是与我的项目中的路由数量有关?
同样的部署技术适用于只有几个路由的较小项目。
我正在使用带有以下命令的claudia.js:
"scripts": {
"deploy": "claudia create --handler lambda.handler --name authService --deploy-proxy-api --region eu-central-1",
"update": "claudia update",
"generate-proxy": "claudia generate-serverless-express-proxy --express-module server",
"test": "./node_modules/.bin/mocha --reporter spec"
},发布于 2017-10-21 20:14:06
您可以遵循两种方法来测试这一点: 1)与直接上传到Lambda相比,AWS CLI从S3部署函数代码允许使用更大的部署包。
有两种方法可以将Lambda函数的代码放入AWS Lambda中:要么直接上传函数的部署包,要么让Lambda从S3中拉取它。
https://hackernoon.com/exploring-the-aws-lambda-deployment-limits-9a8384b0bec3
2) ClaudiaJS命令行界面
点击此处阅读:https://claudiajs.com/news/2016/09/21/claudia-1.9.0.html
克劳迪娅创建--处理程序lambda.handler --部署-代理-api--区域us-south-1 --使用-s3- bucket-name
感谢你@Gojko的贡献。
发布于 2017-06-24 07:23:50
有两种很好的方法来解决这个问题。一种是使用中间S3存储桶来部署您的代码。克劳迪娅可以将压缩文件上传到S3,然后向Lambda发出一个较小的请求,仅从S3获取代码。为此,请使用带有claudia update的--use-s3-bucket <bucket name>。
第二种选择是将你不需要的东西放在某个地方(例如s3),并在lambda启动时下载到/tmp目录。我们将其用于大字体文件或第三方二进制文件。
https://stackoverflow.com/questions/44694263
复制相似问题