2017-11-19 4 views
0

ich eine Python App, die Google Cloud Pubsub verwendet, wie folgt aus:nicht PubSub auf aws Lambda importieren

from google.cloud import pubsub 

Es funktioniert vor Ort in Ordnung, aber die AWS Lambda-Funktion zum Aufruf erhalte ich:

Unable to import module 'handler': cannot import name 'pubsub' 

und keine anderen Fehler oder Details.

Meine requirements.txt Datei:

requests 
google-cloud-datastore==1.4.0 
google-cloud-pubsub==0.29.0 
sqlalchemy 

Ich habe das Gefühl, es auf die psutil Anforderung von PubSub tun kann, als wenn ich versuche, psutil vor PubSub zu importieren, bekomme ich diesen Fehler:

Unable to import module 'handler': cannot import name '_psutil_linux' 
+0

dies scheint eher wie eine Frage, wie man Uplo sind Hinzufügen des Bereitstellungspakets, da Lambda diese Anforderungen nicht für Sie bereitstellt. Kannst du detaillierter angeben, wie du deinen Code hochlädst? – avigil

+1

Mögliches Duplikat von [Wie füge ich Python-Bibliotheken zu einer AWS-Lambda-Funktion für Alexa hinzu?] (Https://stackoverflow.com/questions/38877058/how-do-i-add-python-libraries-to-an-aws -lambda-function-for-alexa) –

Antwort

1

Wenn Sie die serverless Bibliothek verwenden, ist die Lösung folgendes zu tun:

löschen Sie den .requirements Ordner in Ihrem Projektverzeichnis

fügen Sie diese zu Ihrer serverless .yml Datei (docs here):

custom: 
    pythonRequirements: 
    dockerizePip: true 
+0

Sie sollten Ihre Frage aktualisieren und sie möglicherweise als Serverless Framework markieren – avigil