1

我有一个部署到 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

但是,当将它部署到 AWS lambdazappa update并在那里浏览时,我得到了

BOTO VERSION: 1.9.42

有谁知道如何解决这一问题?

4

1 回答 1

1

Zappa excludes boto3 by default because its included in the lambda environment. A fudge that worked for me previously was add a pattern that won't match anything to the exclude field in zappa_settings.json this then caused zappa to include my bundled boto3.

于 2019-06-18T01:11:47.433 回答