首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python AWS Lambda deploy - Zappa包没有Zappa要求

Python AWS Lambda deploy - Zappa包没有Zappa要求
EN

Stack Overflow用户
提问于 2018-09-27 22:12:38
回答 1查看 2.2K关注 0票数 7

我想使用Zappa在AWS Lambda上打包和部署一个简单的项目,但不需要Zappa需求开销。

考虑到这种简单的情况:

lambda_handler.py

代码语言:javascript
复制
def handle(event, context):
    print('Hello World')  

我有一个deploy.sh脚本可以这样做:

代码语言:javascript
复制
#!/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

这是可行的,但是最终的lambda.zip要比需要的要大得多:

我知道在这个特殊情况下不需要Zappa,但是在实际项目中,我使用了一些需要https://github.com/Miserlou/lambda-packages的库,使用Zappa是安装它们的最简单的方法。

如何在没有此开销的情况下生成python包?

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 09:27:50

首先,您可以使用slim_handler,它允许上传大于50M的文件。第二,正如前面提到的@bddb一样,您可以使用.pyc、zip等文件使用排除属性。请在此找到更多细节:

https://github.com/Miserlou/Zappa#package

下面是一个示例,您的zappa_settings.json可能是这样的:

代码语言:javascript
复制
 {
    "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*".
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52545827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档