joa*_*000 7 python zappa aws-lambda
我想使用Zappa在AWS Lambda上打包和部署一个简单的项目,但没有Zappa需求开销。
在这种简单情况下:
lambda_handler.pydef handle(event, context):
print('Hello World')
Run Code Online (Sandbox Code Playgroud)
我有一个deploy.sh脚本可以做到这一点:
#!/usr/bin/env bash
source venv/bin/activate
zappa package -o lambda.zip
aws lambda update-function-code --function-name lambda-example --zip-file fileb://./lambda.zip
Run Code Online (Sandbox Code Playgroud)
这项工作有效,但最终的lambda.zip会更大,然后需要:

我知道对于这种特定情况,不需要Zappa,但是在实际项目中,我使用了一些需要https://github.com/Miserlou/lambda-packages的库,而使用Zappa是安装它们的最简单方法。
如何在没有此开销的情况下生成python lambda软件包?
首先,您可以使用slim_handler,它允许上传大于 50M 的文件。其次,正如 @bddb 已经提到的,您可以使用排除属性排除一些文件,例如 .pyc、zip 等。请在此处找到更多详细信息:
https://github.com/Miserlou/Zappa#package
以下是zappa_settings.json的示例:
{
"dev": {
...
"slim_handler": false, // Useful if project >50M. Set true to just upload a small handler to Lambda and load actual project from S3 at runtime. Default false.
"exclude": ["*.gz", "*.rar"], // A list of regex patterns to exclude from the archive. To exclude boto3 and botocore (available in an older version on Lambda), add "boto3*" and "botocore*".
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |