2013-02-27 38 views
1

我一直在試圖建立亞馬遜S3作爲我的文件備份服務。我想通過將它作爲驅動器安裝在我的ubuntu上來使用該服務,並且s3fs project應該可以實現這一點。但我遇到了一些麻煩。我相信我已經成功安裝了fuse和s3fs。當我安裝一個驅動器時,我沒有任何錯誤;然而,當我然後進入目錄併發出'ls'命令時,沒有任何反應。如果我創建一個測試文件用以下命令:當使用s3fs,「ls」的命令顯示什麼

touch file.test 

文件中的AWS控制檯顯示出來。但我無法看到存儲桶中已存在的文件,也無法使用'cd'命令導航到子目錄。我已經做了一些在項目谷歌論壇嗅探周圍的,我想我已經發現,s3fs無法看到的S3存儲除非這些文件或目錄已使用s3fs創建的任何內容。有其他人遇到過這個問題嗎?這真的是這個項目的設計方式嗎?這是一個錯誤?或者有解決這個問題的辦法嗎?

回答

6

S3FS使用特殊的「隱藏」零字節文件表示目錄,因爲S3真的不支持目錄。如果您在掛載的s3fs存儲桶上嘗試使用mkdir,那麼使用AWS文件瀏覽器,您應該可以看到這一點。如果您的S3存儲桶包含不是由S3FS創建的目錄結構,則S3FS將無法識別該結構。 S3FS只適用於僅使用S3FS操作的存儲桶。

試圖用s3fs一個項目我工作後,我的結論是,這是更好地直接暴露於S3的limitaions,而不是使用的東西,它試圖隱藏這些限制。

+0

感謝非常明確的答案!我想可能最終不會使用s3fs。我找到的替代方法是[s3工具](http://s3tools.org/s3cmd)。除了上傳速度慢之外,它們還可以滿足我的目的,因爲我真正想在這裏做的是使用s3作爲備份。然而,我不得不說,我不完全明白爲什麼亞馬遜設計了他們的S3服務有很多限制 - 我敢肯定這是我自己的無知。 – fraxture 2013-02-27 17:07:51

+0

隨着s3fs,以我的經驗,你也可以「的mkdir <現有僞目錄中已有的S3>」,並在桶是僞目錄下的文件變得神奇可見s3fs因爲現在知道它應該檢查文件在那裏,所以它發現它們......但仍然是事實,s3fs是最好的使用桶只能寫入由s3fs(從其他地方讀取很好)。最後,我懷疑你會發現S3中的某些「限制」實際上是它的一些優勢。 – 2013-03-14 03:02:18

-1

不可能用ls命令訪問S3:

ls: reading directory /mnt/s3/: Operation not permitted 

只有具有s3cmd LS。

+0

使用'sudo ls/mnt/s3 /'。 – 2017-01-02 20:57:53

+0

另請確保您的AWS S3憑據具有策略訪問權限,以執行您需要執行的操作。 Mine沒有列出,因爲我的訪問憑證限制了它的訪問策略範圍。 – 2017-01-02 21:58:19