2017-11-10 1 views
-1

Ich verwende AWS Chalice, um meine lamdbda-Funktion mit zu implementieren.Datei in AWS Lambda-Funktion nicht gefunden

Ich möchte eine Datei enthalten, die von der Funktion gelesen wird, aber ich kann diese Datei nicht finden, wenn die Lambda-Funktion ausgeführt wird.

Es sollte jedoch eine einfache Prüfung

if os.path.isfile('file.json'): 

nicht findet es Verwendung als app.py im selben Verzeichnis sein.

Fehle ich etwas offensichtliches über AWS Lambda und wie es meinen Code verpackt?

+0

Geprüftes/tmp-Verzeichnis? – Tobin

+0

@tobin yep - dort auch nicht gefunden. –

+0

Sie können die Lambda-Umgebung mit https://alestic.com/2014/11/aws-lambda-environment/ untersuchen. – jarmod

Antwort

1

Sind Sie sicher, dass Chalice es in der Deployment-Datei enthält? Sie müssen es in den Ordner chalicelib in Ihrem Projekt platzieren. Unter the Chalice documentation finden Sie zusätzliche Dateien in Ihrer Lambda-Bereitstellung.

0

Wenn Sie möchten, dass eine Lambda-Funktion irgendwelche Dateien liest, müssen Sie angeben, durch welche Maschine, auf der sie gestartet ist, sie lesen kann. Dies geschieht entweder durch Einbinden in die ZIP-Datei oder durch fernes Lesen der Datei, z. durch eine GET-Anforderung in einer RESTful-HTTP-API oder durch Verbinden mit einem RDS.

+0

einschließen, obwohl es als Teil der "Chalice deploy" bereitgestellt werden sollte? Es scheint viel zu sein, nur eine lokale Konfigurationsdatei zu lesen! –