簡體   English   中英

無服務器框架-AWS Lambda依賴項限制超出

[英]Serverless Framework - AWS Lambda dependency limit exceed

我正在使用AWS(一種使用Twilio的呼叫中心)進行無服務器項目。 我以前已經建立了另外2-3個小項目。 我現在正在使用無服務器框架。 到目前為止,我還沒有使用它。 因此,無論是AWS還是無服務器,我都是一個新手。

我不知何故跟隨下一個鏈接: https : //serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/

因此,我基本上使用了以下Python依賴項:Flask,Twilio,boto3(適用於AWS)。 請參閱下面的requirements.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

使用無服務器框架,在安裝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? 我的意思是,一種只安裝我需要的模塊的方法。

還有其他想法嗎?

提前致謝。

幸運的是,在部署Lambda應用程序時,您不必捆綁boto3 已經存在於Lambda python執行環境中。 隨時從您的requirements.txt刪除boto3。

請注意,AWS建議您捆綁自己的捆綁包,因為Lambda中的捆綁包可能不是最新的,但這僅在您要使用AWS的最新功能或服務時才重要。 我已經使用捆綁的產品超過2年了,並且一次都沒有出現問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM