因此,我有一個用戶模型,並且在用戶註冊時,我需要生成一個包含特定用戶信息的文件。 Heroku不允許我這樣做。除了生成文件並將其寫入S3存儲桶並從中引用它之外,是否還有其他選項?在Heroku上創建文件遇到問題(Rails)
回答
Heroku的文件系統是隻讀的。唯一的例外是tmp目錄,但那是暫時的。 S3是一個通用的解決方案。另一種可能是將「文件」保存到數據庫中(在遷移中使用「文本」列)。你也可以使用一些文件存儲,如CouchDB或MongoDB,並在那裏存儲你的「文件」。 Couch和Mongo有幾款Heroku附加軟件甚至提供免費套餐。
需要生成的實際文件是一個xml文件。它相當短,但它確實有一些用戶變量。例如,用戶使用電話號碼註冊,並且該號碼需要位於xml Feed中。同樣,該提要需要在用戶註冊時生成,並且必須從資源(/user/file.xml)訪問。 – ghal 2012-02-01 20:28:02
在閱讀了一些關於MongoDB的資料後,看起來這將是使用GridFS時的一個優雅解決方案。你認爲與S3相比有什麼優點/缺點嗎?數據存儲的混合是否會導致任何潛在問題? – ghal 2012-02-01 20:57:54
Mongo vs S3的主要優勢在於S3比較慢。這對於大文件來說是一個很好的解決方案,但是如果您需要加載文件作爲服務客戶端請求的一部分,那麼S3的響應時間並不令人滿意。 – Elad 2012-02-02 06:06:53
在Cedar堆棧上,文件系統是短暫的,這意味着文件系統僅在dyno持續時間(這是一個未知的和不可預知的時間量)存在。
在較舊的堆棧上,只有/ tmp是可寫的,並且是短暫的。
因此,要生成文件並將其導出,您需要考慮如何交付文件。
如果稍後要下載,您是否可以隨時從數據庫生成文件(因此可以根本不需要寫出文件)。
如果現在要下載,請將其傳回給最終用戶。
它是出口到S3,這樣做。
- 1. 創建文件java時遇到問題
- 2. 我在VS 2010中創建.mdf文件時遇到問題
- 3. 在rails 3中使用omniauth創建關係時遇到問題
- 4. 上傳文件時遇到問題
- 5. Heroku文件上傳問題
- 6. 遇到問題.bat文件
- 7. 創建生成文件時遇到問題
- 8. 創建JAR時遇到問題
- 9. TSQL:創建函數時遇到問題
- 10. 創建makefiles時遇到問題
- 11. 在Android上創建「快速撥號」按鈕時遇到問題
- 12. 我在我的Mac上創建我的GOPATH時遇到問題
- 13. 創建c#web服務 - 在創建結構時遇到問題
- 14. 在heroku上連接S3 Bucket(EU-Region)與LocomotiveCMS時遇到問題
- 15. 在Heroku上部署Sinatra應用程序時遇到問題
- 16. 在Heroku上部署Spring Boot項目時遇到問題
- 17. 在shell腳本中創建和保存文本文件時遇到問題
- 18. Heroku + Rails + PostgreSQL問題
- 19. 遇到問題輸出到文件
- 20. 文件上傳編碼遇到文件名稱問題。 GWT
- 21. 在C#項目的AppData中創建文件夾時遇到的問題
- 22. 創建JFrame並向其中添加文本時遇到問題
- 23. 在ftp mule上傳輸文件時遇到問題
- 24. PHP:在上傳大文件時遇到問題
- 25. 在Django中上傳大量文件時遇到問題
- 26. 在Ubuntu上運行二進制文件時遇到問題
- 27. 在aws ec2上與capistrano部署rails代碼時遇到問題
- 28. 閱讀csv文件時遇到問題
- 29. 下載文件時遇到問題
- 30. 打開.res文件時遇到問題
什麼樣的用戶信息?這是不是你可以存儲在數據庫中的東西?關於什麼類型的信息以及如何在應用程序中使用它的更多信息會有所幫助。 – jstim 2012-02-01 19:15:10