2016-06-15 12 views
0

Wir haben Daten in unserem AWS-Lambda-Funktionen-Speicher zwischengespeichert, und es wäre sehr nützlich zu wissen, wie lange es normalerweise dort bleiben wird, bevor die Funktion für die Nichtbenutzung in unseren Entwicklungsphasen entfernt wird. Bitte beachten Sie, dass ich speziell über die Containerdaten rede, die wiederverwendet werden können. Siehe: https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/Wie lange bleibt eine AWS Lambda-Funktion ohne aktiven Anruf im Speicher?

Antwort

2

Jeder Aufruf einer Lambda-Funktion erzeugt eine eindeutige Instanz der Funktion. Obwohl der zugrunde liegende Container für eine unbekannte Zeitspanne für die Wiederverwendung beibehalten werden kann (http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction-function.html#topic3), kann nicht davon ausgegangen werden, dass nachfolgende Aufrufe den Container eines vorherigen Aufrufs mit der Erwartung der Datenpersistenz wiederverwenden.

Wenn Sie Daten in Ihrer Lambda-Funktion laden oder erstellen, die Sie zwischen Aufrufen benötigen, müssen Sie sie in den Langzeitspeicher schreiben, egal ob S3 oder eine Datenbank oder etwas anderes. Sie müssen alle abgerufenen Daten jedes Mal neu laden, wenn die Funktion aufgerufen wird.

Bearbeitet, um die Wiederverwendung des Containers zu verdeutlichen. Danke an Rodrigo und Frederick Cheung für zusätzliche Links in Kommentaren.

+1

Vereinbarungsgemäß können jedoch Container * wiederverwendet und nicht zerstört werden. https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/. –

+1

@RodrigoM Dieser Blogbeitrag wurde während des Vorschauzeitraums geschrieben. Haben sie bestätigt, dass sich dieses Verhalten nicht geändert hat? Auf jeden Fall klingt es, obwohl der Container wiederverwendet wird, was nur für die Dateien gilt. Der Code wird immer noch frisch gestartet, so dass Daten im Speicher eines vorherigen Laufs verloren gehen, und vor allem: "Denken Sie daran, dass Sie nicht darauf angewiesen sind, dass ein Container wiederverwendet wird, da es Lambdas Vorrecht ist, stattdessen einen neuen zu erstellen." –

+0

danke ja ich sah es war in der Vorschau dann. Die gesamte aktuelle Dokumentation scheint auf eine gewisse Wiederverwendung zu verweisen. Aber ja, ich würde erwarten, dass der Speicher auch bei Wiederverwendung zurückgesetzt wird. –