aws lambda Nicht in der Lage zu importieren Modul 'lambda_function': No module named 'Anfragen'
Ich habe vor kurzem angefangen mit AWS Lambda-Trigger verwenden gegen einige python-code, den ich geschrieben habe. Ich habe derzeit 2 lambda-Funktionen, beide wurden erstellt mit ZIP-Dateien. Das zweite ich, der geschaffen wird, soll zum testen der trigger-events.
Dies ist für Testzwecke so dass ich mit den besten code:
def lambda_handler(event, context):
print ("Hello World")
Allerdings bekomme ich diese Fehlermeldung zurück:
Response:
{
"errorMessage": "Unable to import module 'lambda_function'"
}
Request ID:
"65024f16-172c-11e8-ab26-27ff3322e597"
Function Logs:
START RequestId: 65024f16-172c-11e8-ab26-27ff3322e597 Version: $LATEST
Unable to import module 'lambda_function': No module named 'requests'
END RequestId: 65024f16-172c-11e8-ab26-27ff3322e597
REPORT RequestId: 65024f16-172c-11e8-ab26-27ff3322e597 Duration: 15.93 ms
Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 22 MB
Überall habe ich gesucht, die Antwort war gelöst, indem Sie sicher, dass die Namen für die Funktionen korrekt waren, oder dafür, dass die .zip-Datei lesbar. Ich habe erfüllt diese beiden Bedingungen (der name der Datei ist lambda_function.py und es ist in der root).
Alternativ, wie es scheint, könnte es ein Problem mit den logs. Ich doppelt überprüft meine Erlaubnis und ich habe die Fähigkeit, Protokolle zu erstellen mit allen Ressourcen. Irgendwelche anderen Ideen, was das Problem sein könnte?
InformationsquelleAutor mifin | 2018-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
requests
Bibliothek nicht standardmäßig in lambda. Es sieht aus wie Sie versuchen, importieren Sie es in Ihre Funktion /Bibliothek irgendwo. Um es zu importieren, müssen Sie die folgende Zeile:Alternativ können Sie brauchen, um zip die
requests
Bibliothek im root der zip-Datei.EDIT: Es kann eine Abhängigkeit in einer Ihrer Bibliotheken, die möglicherweise braucht diese. Um dies zu überwinden, installieren
requests
in Ihrer Anwendung zip. Um dies zu tun, führen Sie den folgenden Befehl im root-Verzeichnis Ihrer Anwendung:pip install requests -t ./
.Bessere Weg wäre, um erstellen Sie eine Datei namens
requirements.txt
und fügen Sie alle Abhängigkeiten drin. Verwenden virtualenv zu installieren, alle Pakete definiert, in der requirements.txt Verwendung:pip install -r requirements.txt -t ./
Installieren
requests
mit dem Befehl in der Anwendung root-Verzeichnis:pip install requests -t ./
. Sobald es abgeschlossen ist, komprimieren Sie die Anwendung und laden Sie diese Funktion. Wenn Sie eine requirements.txt fügen Sierequests
.Ah ich sehe. Einer meiner Importe erforderlich, die Anforderungen Modul und das es behoben. Es ist zu Fragen, für etwas mehr, aber ich bekomme die Idee, an dieser Stelle. Danke!
Genial. Ich werde Bearbeiten Sie die Antwort zu reflektieren.
Was ist
botocore.vendored
?InformationsquelleAutor krishna_mee2004