Я работаю в проекте без сервера с AWS (своего рода колл-центр, использующий Twilio). Ранее я построил еще 2-3 маленьких проекта. Сейчас я использую Serverless Framework. Я не использовал это до сих пор. Так что я довольно новичок в AWS и в Serverless.
Я как-то перехожу по следующей ссылке:
https://serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/
Так что я в основном использую следующие зависимости Python: Flask, Twilio, boto3 (для AWS). См. Файл values.txt ниже. Я удалил некоторые пакеты, но, вероятно, есть некоторые пакеты, которые я мог бы очистить:
boto3==1.9.84
botocore==1.12.84
certifi==2018.11.29
chardet==3.0.4
Click==7.0
docutils==0.14
Flask==1.0.2
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10
jmespath==0.9.3
lazy-object-proxy==1.3.1
MarkupSafe==1.1.0
pipdeptree==0.13.2
PyJWT==1.7.1
PySocks==1.6.8
python-dateutil==2.7.5
pytz==2018.9
requests==2.21.0
s3transfer==0.1.13
six==1.12.0
twilio==6.23.1
urllib3==1.24.1
Используя Serverless Framework, я смог развернуть (без сервера) развертывание проекта без проблем, пока не установил boto3. Однако теперь я превышаю допустимый размер зависимости и получаю эту ошибку:
An error occurred: AppLambdaFunction - Unzipped size must be smaller than 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
Я застрял на этом. Думаю, я мог бы решить это по-старому, не используя Serverless Framework (непосредственно в AWS), но в идеале я хотел бы решить эту проблему.
Возможно ли частично установить boto3? Я имею в виду способ установить только те модули, которые мне нужны.
Есть еще идеи?
Заранее спасибо.