2010-07-20 319 views
9

所以我想嘗試使用Heroku作爲我的服務器,但是Heroku不允許寫入其文件系統。相反,我需要使用數據庫和類似Amazon S3的存儲類似上傳圖像的東西。離線亞馬遜S3

問題是我在開發時經常沒有互聯網訪問。或非常差的互聯網接入。因此開發Amazon S3是不切實際的。是否有離線版本可供使用,以便我的本地機器可以充當S3雲,並且在測試/生產環境中,我可以使用真正的S3?

+0

是否可以安裝第二個文件系統,或者是網絡流量提供給您的唯一的事情? – 2010-07-22 13:15:59

+0

我可以掛載任何我想要的(運行linux),但我可能沒有網絡訪問。所以最後我想用API來開發,但是完全離線。 – 2010-07-23 17:53:11

+0

有趣的是,2010年的這個問題已經在2012年10月關閉了,而[這個從2012年2月開始的重複它](http://stackoverflow.com/q/9210162/759866)仍然是開放的。 – Benjamin 2014-03-21 18:01:15

回答

1

我的建議是嘗試使用rsync的s3fs。以下是它的工作原理:

  1. 將s3驅動器掛載到生產計算機上的/ mnt/sdaX /和本地計算機上的/ mnt/sdaY /上。
  2. 在本地機器的/ mnt/sdaX /上創建一個文件系統。

根據需要在本地計算機上進行更改。適當時,在本地盒子上輸入rync/mnt/sdaX/to/mnt/sdaY /。

我意識到這很複雜,但我不確定在兩個地方保持相同的配置時,還有其他方法可以做到。通常我會說你應該在啓用本地緩存的情況下在本地寫入s3fs驅動器,但我不確定當你返回在線狀態時會發生什麼(我確信它不會同步,但是我已經提前完成了, asked s3fs developers)。

最佳,

扎克

開發,長尾視頻

+1

我認爲這是開發所需的界面而不是存儲本身。因此,在脫機時,同步文件系統無助於針對S3 API進行開發。 – 2010-07-26 20:03:58

+0

我需要離線開發。我希望我的產品能夠在線運行。關鍵是我想在生產中使用相同的API來開發/測試,除了一個使用S3,一個使用本地。如果我正在使用S3訪問設備24/7進行開發,我不會關心這個問題,所以與同步無關。 – 2010-07-27 20:13:38

+0

在這種情況下,文件系統*就是您的界面。您可以使用普通的文件系統API,而不是使用S3特定的API,s3fs會將其餘部分抽象出來。 – 2010-07-28 02:05:02

1

看一看:

然而,讓它們運行可能有些工作。我終於想用node.js編寫我自己的克隆,但它已經遠離了原來的S3 API,所以它不會真的幫你了。

+0

我並不關心S3 API,而是擔心在生產環境中使用S3的框架,並讓我在開發過程中脫機做些事情。謝謝我以爲我會調查這些。一個鏈接到你的項目? – 2010-07-27 20:12:05

9

老問題,但想發佈這個,有一個「假S3」工具,似乎被設計來做到這一點。只是想給它一個旋風。

https://github.com/jubos/fake-s3