2017-02-02 55 views
0

如果我在lambda函數內寫入文件到磁盤,那麼在完成lambda函數後會發生什麼。我必須明確告訴它刪除,否則將在該函數完成運行後自動刪除所有內容嗎?由lambda函數創建的剩餘文件會發生什麼

+1

只要Lambda容器實例仍然「活着」,您寫入磁盤的內容仍然可用。通常容器不會「活」超過幾分鐘。 – idbehold

+0

好的。更多隻是想確保我不會因寫入磁盤而受到處罰,也不會在關閉容器實例之前明確刪除我寫的內容。雖然這種擔心似乎回想起來很愚蠢 – Jon

回答

2

您在AWS上執行的Lambda函數在名爲容器的獨立空間內運行,該容器只爲您和該函數進行配置。 AWS可能不會立即清理此容器,以便更快地執行後續lambda函數的執行(因爲容器已配置)。

當您的Lambda函數未執行「一段時間」時,容器將被AWS清理。如果您發佈代碼的修訂版,則舊容器將被清理,並在下次執行時爲您的Lambda函數設置新容器。

要記住的重要一點是,您提及的文件以及您在處理程序代碼之外聲明的任何變量在隨後的執行過程中仍將存在。這同樣適用於你的/ tmp文件

如果知道這種情況,你應該考慮重新設計你的代碼,以確保如果過去執行的「遺漏」可能會導致你一些乾淨的退出(即使在失敗的情況下)衝突。

確保您永遠不會假定容器在下次執行時仍然存在也很重要。

您可以在此這裏檢查了一些官方文件: http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html

我希望這有助於!

+0

這有助於很多,謝謝! – Jon

相關問題