2013-04-18 37 views
2

以前我問過關於在GAE之上使用Google雲存儲Document management system using Google Cloud Storage構建文檔管理系統的一個問題。我想我得到了適當的答案。這個問題只是相同的延伸。所以我的問題是:我可以通過我的java代碼處理版本,就像這個鏈接中提到的一樣(developers.google.com/storage/docs/object-versioning),比如列出對象的所有版本,檢索對象的特定版本等。來自Java的Google雲存儲中的版本支持?

由於我發現列表API用於列出,刪除對象並在Google雲存儲上執行多項操作,但是我可以通過Java提供的相同API來處理版本嗎?

在此先感謝。

回答

1

由於Google Cloud Storage doc指出(https://developers.google.com/storage/docs/developer-guide)存儲的對象是不可變的。

I.e.您只能在存儲並存儲新對象後刪除對象,即使使用相同的名稱。

因此,要進行版本控制,您可以在僞文件夾中組織數據。像:bucket/file-name/version-1; data/file-name/version-2等 然後你需要添加一些BL來處理這個版本(在需要時訪問最近的一個,刪除過時的等)。但是,在文檔管理系統中,應該考慮事務,衝突等。因此,可能需要管理數據庫中的版本(GAE?),並將版本內容作爲文件(即文件內容哈希值)存儲在雲中。

+0

是的,我明白了你的意思,但我可以用JAVA來做到這一點。使用Gsutill工具我可以編寫腳本並執行此操作。但我想用java來做這個操作。 –

+0

同樣的事情。谷歌存儲有http api(https://developers.google.com/storage/docs/developer-guide)存儲內省。您可以將所有業務元數據與URL一起存儲在數據庫中,因此Java代碼將能夠決定在版本上執行什麼操作,然後使用正確的文件 – tuxSlayer

相關問題