2016-10-06 3 views
0

Ich habe meine zipped Projekt ohne psycopg2 Paket bereitgestellt. Ich möchte dieses Paket auf meinem lambda installieren, ohne mein festes Projekt erneut hochladen zu müssen (ich habe gerade keinen Zugriff auf mein Projekt). Wie kann ich dieses package auf meinem lambda installieren? Ist es möglich, es mit pip zu tun?Installieren von Python-Paket auf AWS Lambda

Antwort

0

Es ist nicht möglich mit pip zu tun. Sie müssen die Abhängigkeit zu Ihrer gezippten Lambda-Deployment-Datei hinzufügen. Sie können Ihre Lambda-Bereitstellung nicht ändern, ohne eine neue gezippte Bereitstellungsdatei hochzuladen.

+0

und Sie werden Ihren Code viele Male neu laden. Schreiben Sie sich selbst ein Deploy-Skript – Marcom

0

Es ist nicht möglich, Pip direkt auf dem Lambda zu verwenden. Stattdessen benutze ich ein benutzerdefiniertes Build-Skript, um ein Zip-Paket zu erstellen [das kann Ihnen eine kurze Idee geben - es kann sicherlich viel einfacher gemacht werden]

rm -rf ~/devops/tempenv > /dev/null 
virtualenv ~/devops/tempenv 
source ~/devops/tempenv/bin/activate 
pip install SlackClient 
pip install PyYaml 
deactivate 
rm -rf temp > /dev/null 
mkdir temp 
rm aws-lambda.zip > /dev/null 
cp -r ~/devops/tempenv/lib/python2.7/site-packages/* temp/ 
cp *.py temp 
cd temp 
zip -r aws-lambda.zip . 
mv aws-lambda.zip ../ 
cd .. 
rm -rf temp 
rm -rf ~/devops/tempenv