Ich muss einen Rest-Aufruf innerhalb eines Python-Skripts durchführen, das einmal am Tag ausgeführt wird. Ich kann das Paket "requests" nicht mit dem AWS Lambdas in mein Python-Paket packen. Ich erhalte den Fehler: "Das Modul 'lambda_function' konnte nicht importiert werden: Kein Modul namens lambda_function"
Ich habe es auf das vordefinierte Skript hallo_world heruntergebrochen. Ich kann es in einen Reißverschluss packen und es hochladen. Funktioniert alles. Sobald ich "Import Requests" in die Datei lege, bekomme ich diesen Fehler.
Hier ist was ich schon gemacht habe:
Die Benennung von allem sieht so aus:
Die Datei, die ich am Ende ausführen möchte, sieht folgendermaßen aus:
%Vor%Ich bin froh für jede Art von Hilfe. Ich habe bereits mehrere Stunden zu diesem Thema verwendet.
Ich habe das Problem endlich gelöst: Die Struktur in meiner Zip-Datei war kaputt. Es ist wichtig, dass das Python-Skript und die gepackten Abhängigkeiten (als Ordner) im Stamm der ZIP-Datei liegen. Das hat mein Problem gelöst.
Es ist ein bisschen deprimierend, wenn Sie nach stundenlangem Versuch und Versagen so einfache Fehler finden.
Um das Requests-Modul zu verwenden, können Sie einfach requests
von botocore.vendored
importieren. Zum Beispiel:
Sie können diesen Kern sehen, um mehr Module zu kennen, die direkt importiert werden können AWS Lambda
Ich glaube, Sie haben lambda_function.py
auf der Lambda-Konsole. Sie müssen zunächst das Bereitstellungspaket für die Lambda-Funktion erstellen und anschließend das Paket mithilfe der Konsole hochladen.
project-dir
auf Ihrem System (lokal) lambda_function.py
in project-dir
, kopiere den Inhalt von lambda_function.py
von der Lambda-Konsole und füge ihn in project-dir/lambda_function.py
ein
pip install requests -t /path/to/project-dir
project-dir
, das Ihr Bereitstellungspaket ist (Zip den Verzeichnisinhalt, nicht das Verzeichnis) Gehe zur Lambda-Konsole, wähle Upload-Zip-Datei im Code-Entry-Typ und lade dein Deployment-Paket hoch. Importanforderungen sollten ohne Fehler funktionieren.
Tags und Links python amazon-web-services python-2.7 aws-lambda