2011-03-08 90 views
21

由於Heroku是隻讀文件系統,因此我無法使用回形針在服務器上存儲少量文件。數據庫映像存儲是一個選項,但並不特別理想,因爲這可能會將客戶的數據庫大小從幾百KB提高到超過5 MB「免費」共享數據庫限制(取決於映像的大小)。Heroku +回形針+ Amazon S3 - 定價?

這使Amazon S3成爲可能的解決方案。我知道Heroku是EC2上的(我相信?)。亞馬遜的定價措辭在涉及S3-EC2文件傳輸時有點混亂。如果我讓我的客戶端設置一個S3帳戶並讓他們進行文件傳輸,那麼價格會是什麼樣子?

從S3的角度來看,在rails控制器中上傳和下載數據,然後使用send_file將數據提供給瀏覽器會更便宜嗎?或者更直接地將鏈接直接鏈接到瀏覽器的圖像或pdf,就像平常一樣?

因爲heroku是在亞馬遜上託管的,我的客戶是否必須支付任何費用?我正在尋找與此相關的其他問題,但沒有任何關於文件傳輸的哪些部分將收取費用的直接答案。

我想存儲會花費一點(幾乎沒有),但帶寬呢?謝謝:)

+1

好問題,我只是想知道今天完全一樣的東西。 – 2011-03-08 01:44:48

+0

http://aws.amazon.com/s3/#pricing – Jordi 2011-03-08 02:01:40

+0

Heroku還有一個圖像存儲附加組件,可以免費啓動:https://addons.heroku.com/cloudinary – Chloe 2013-06-12 20:58:38

回答

11

它是從S3點的視圖 便宜到 軌道控制器上載和下載數據,然後喂 數據使用 由send_file瀏覽器?或者它會更有意義 只是直接鏈接到圖像或 pdf從瀏覽器像正常?

從S3的角度來看,這是免費的,因爲Heroku會覆蓋您的轉移成本。然而,Heroku只允許腳本運行30秒,在此期間,其他客戶端無法加載該站點,所以這真是一個糟糕的主意。您最好的選擇是直接從S3提供文件,在這種情況下,您的客戶會在S3和最終用戶之間轉移。

您與Heroku中的文件進行的任何交互(即元數據和不是什麼)將是免費的,因爲它是EC2-> S3。

對於大多數情況下,如果您不使用heroku,您的定價將與其相同。如果您的應用程序不斷直接在S3上訪問數據(讀取元數據/加載文件),則此情況將發生變化的唯一情況是

+1

其他客戶端是否仍然可以加載該網站在回形針下載/上傳期間,如果該網站有超過1個動態? – sscirrus 2011-05-05 22:45:45

+0

使用[delayed-paperclip](https:// github。com/jstorimer/delayed_pa​​perclip)並啓動一些工作人員 – Orlando 2012-02-07 18:46:43

1

您可以在Heroku上使用Paperclip - 只是不用本地文件系統進行存儲。幸運的是,Paperclip可以使用s3進行存儲。 Heroku有涵蓋它的科技文章here

而且當圖像將直接從您的S3桶URL被加載,所以你會付出亞馬遜GET請求的圖像,然後進行數據傳輸涉及一個已經上傳的顯示在頁面上的資產(查找asset_host),但也用於在s3上存儲資產。您是否看過s3 calculator以獲取指示性費用?