AWS Lambda zappa不使用最新的Boto3版本

时间:2019-06-18 00:24:56

标签: python aws-lambda zappa

我有一个flask应用程序,可以将其部署到AWS lambda。该应用程序要求使用最新版本的boto3 (1.9.71),但是,当使用zappa部署该应用程序时,它不会使用最新版本。

这是当前设置:

from flask import Blueprint
import boto3

bp_routes = Blueprint('simple_routes', __name__)


@bp_routes.route('/test_boto')
def test_boto():
    return f'BOTO VERSION: {boto3.__version__}'

requirements.txt

flake8==3.7.7
Flask==1.0.2
flask-script==2.0.6
python-dotenv==0.10.1
yapf==0.27.0
zappa==0.48.2
botocore==1.12.71
boto3==1.9.71

使用flask run在本地运行应用程序并浏览到路由 http://127.0.0.1:5000/test_boto我得到

BOTO VERSION: 1.9.71

但是,当使用zappa update将其部署到AWS lambda并浏览那里时,我得到了

BOTO VERSION: 1.9.42

有人知道如何解决此问题吗?

1 个答案:

答案 0 :(得分:0)

Zappa默认情况下不包含boto3,因为其包含在lambda环境中。以前对我有用的软糖是在zappa_settings.json的exclude字段中添加了与任何内容都不匹配的模式,这随后导致zappa包含我捆绑的boto3。