AWS lambda zappa не использует последнюю версию boto3

У меня есть фляжное приложение, которое я развертываю на 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 lambda с помощью zappa update и последующем просмотре я получаю

BOTO VERSION: 1.9.42

Кто-нибудь знает, как это исправить?


person wasp256    schedule 18.06.2019    source источник
comment
вы используете виртуальную среду для управления этим?   -  person al76    schedule 18.06.2019
comment
Да, я использую виртуальную среду для локального разработчика.   -  person wasp256    schedule 18.06.2019
comment
Вы упаковываете свою версию boto3? Если нет, эта ссылка может помочь docs.aws.amazon.com/lambda/latest/dg/   -  person al76    schedule 18.06.2019
comment
Упаковка выполняется автоматически zappa, поэтому должна использоваться версия, указанная в requirements   -  person wasp256    schedule 18.06.2019
comment
попробуйте команду zappa package, а затем перечислите zip unzip -l file.zip|grep boto и проверьте, упакована ли/какая версия boto. Это может дать подсказку   -  person al76    schedule 18.06.2019


Ответы (1)


Zappa по умолчанию исключает boto3, потому что он включен в лямбда-окружение. Уловка, которая работала для меня ранее, заключалась в добавлении шаблона, который не будет соответствовать чему-либо, в поле исключения в zappa_settings.json, после чего zappa включил мой связанный boto3.

person al76    schedule 18.06.2019
comment
Можете ли вы привести пример zappa_settings.json? - person wasp256; 18.06.2019