我正在使用WhiteNoise和Zappa。用zappa whitenoise,推動靜態文件到S3?
扎帕建議保持規模的項目下來,大小:
超過50MB項目...吃進你的應用程序功能的存儲空間(source)
你的確需要設置slim_handler = true,這有輕微的性能損失。
WhiteNoise建議讓您的服務器上有靜態文件,例如Amazon Cloudfront可以訪問並緩存這些文件。
這裏的cache-22是創建的許多版本的壓縮的WhiteNoise靜態文件可能導致靜態包大於100MB(在我的情況下)。
我不知道如何在這裏繼續。選項有:
- 白噪聲的靜態內容手動推到一個S3桶和具有的Cloudfront有以此爲原點,不上傳100MB亞馬遜LAMBDA。
- 看看我是否可以讓Zappa將靜態內容捆綁到S3(並從應用程序本身中移除靜態內容)。當Zappa上傳一個Zip時,或許這是一個更快的選擇。
有什麼想法?謝謝。
這是一個很好的問題。部分問題是Django在STATIC_ROOT中保留了散列和非散列版本的文件。最重要的是,您擁有STATICFILES_DIRS中的原始文件,因此您至少有三份副本以及壓縮版本。我將研究在即將發佈的WhiteNoise發行版中緩解這一問題的方法。通過在Zappa中定義一個ZIP回調來完成一些後期打包清理也是可能的,但我沒有詳細討論過這一點。 –