sto facendo tutti i passi che sono menzionati nel seguente documento: http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.htmlQual è il modo corretto per aggiungere panda/scikit-learn pacchetti al progetto per l'utilizzo in AWS lambda
Sono EC2 di Amazon usign con Amazon Linux su di esso per costruire il pacchetto.
Ho anche provato a fare passi menzionati nella https://markn.ca/2015/10/python-extension-modules-in-aws-lambda/
In seguito è l'errore che ottengo quando il pacchetto viene caricato per AWS lambda ed eseguire:
START RequestId: cbfe0762-8f1b-11e5-9a1d-49fb4d3a0d13 Version: $LATEST
Unable to import module 'test': No module named pandas
END RequestId: cbfe0762-8f1b-11e5-9a1d-49fb4d3a0d13
REPORT RequestId: cbfe0762-8f1b-11e5-9a1d-49fb4d3a0d13 Duration: 0.35 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 23 MB
L'errore non dà alcun indicazione specifica
Modifica con maggiori dettagli:
Hi @maxymoo
sto solo creando la zip dei contenuti. Non la cartella che contiene il file .py. Quando provo ad aggiungere il pacchetto "richieste" con il mio file .py, funziona bene. Ora quando provo ad aggiungere il pacchetto "panda" con il mio file .py, questo mi dà l'errore sopra riportato.
seguenti sono i punti che sto seguendo:
Connetti a EC2 con Amazon linux eseguirlo.
inizio virtualenv
installare panda utilizzando "PIP installare panda"
vai a Directory "/home/ec2-user/t1/lib/python2.7/site-packages"
prendere tutti i contenuti di "/home/ec2-user/t1/lib/python2.7/site-packages" aggiungere il mio file test.py ad esso e creare il file zip
caricare il file zip amazon lambda
prova Run
ottengo il seguente errore:
START RequestId: feee67de-8f2f-11e5-bc34-bd42a1d7326b Version: $LATEST
Unable to import module 'test': No module named pandas
END RequestId: feee67de-8f2f-11e5-bc34-bd42a1d7326b
REPORT RequestId: feee67de-8f2f-11e5-bc34-bd42a1d7326b Duration: 0.34 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 29 MB
Il contenuto di test.py è:
import json
import requests
import pandas as pd
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
Di seguito sono riportati i file nel file zip :
drwxrwxr-x 52 pds staff 1768 Nov 19 17:09 setuptools
drwxrwxr-x 32 pds staff 1088 Nov 19 17:09 requests
drwxrwxr-x 34 pds staff 1156 Nov 19 17:10 pip
drwxrwxr-x 11 pds staff 374 Nov 19 17:10 setuptools-12.0.5.dist-info
drwxrwxr-x 10 pds staff 340 Nov 19 17:10 pip-6.0.8.dist-info
drwxrwxr-x 8 pds staff 272 Nov 19 17:10 requests-2.8.1.dist-info
drwxrwxr-x 6 pds staff 204 Nov 19 17:10 pkg_resources
drwxrwxr-x 6 pds staff 204 Nov 19 17:10 _markerlib
[email protected] 1 pds staff 374 Nov 19 17:15 test.py
-rw-r--r-- 1 pds staff 3912745 Nov 19 17:16 Archive.zip
-rw-r--r-- 1 pds staff 315 Nov 19 18:09 easy_install.pyc
drwxrwxr-x 9 pds staff 306 Nov 19 18:09 pytz-2015.7.dist-info
-rw-r--r-- 1 pds staff 30098 Nov 19 18:10 six.py
-rw-r--r-- 1 pds staff 126 Nov 19 18:10 easy_install.py
drwxrwxr-x 8 pds staff 272 Nov 19 18:11 six-1.10.0.dist-info
drwxrwxr-x 15 pds staff 510 Nov 19 18:11 pytz
drwxrwxr-x 9 pds staff 306 Nov 19 18:11 python_dateutil-2.4.2.dist-info
-rw-r--r-- 1 pds staff 29545 Nov 19 18:11 six.pyc
drwxrwxr-x 17 pds staff 578 Nov 19 18:11 dateutil
qual è la struttura della directory? hai accidentalmente chiuso la cartella del progetto stessa piuttosto che il contenuto della cartella? – maxymoo
Ciao @maxymoo ho aggiunto i dettagli rilevanti alla domanda stessa.Ho solo zippato i file sotto la directory principale. Il contenuto del file zip è menzionato nella domanda. C'era una restrizione di carattere nel commento, quindi ho modificato la domanda. –