2011-09-30 166 views
1

我在我的GAE Web應用程序中創建XML文件,我想將它們放在某處。鏈接必須是一致的HOST_URL +文件名。因此,亞馬遜S3看起來像它會工作 - 我可以上傳一個文件,並且URL直接指向文件。 現在我的問題是 - 我怎樣才能從GAE上傳文件到S3?亞馬遜SDK不適用於GAE。 GAE的上傳限制是多少?是1MB還是32MB?你能提供一個示例HTTP請求來直接上傳數據到S3嗎?直接從GAE上傳文件到S3

會更容易使用Blobstore API嗎?上傳在GAE中創建並需要直接上傳到Blobstore API的文件的文件大小限制是什麼?

謝謝。

+0

您爲什麼認爲'Amazon SDK在GAE上不起作用? –

回答

1

正如您已經注意到的那樣,S3 api與GAE不兼容。要在GAE上存儲文件,您可以使用BigTable,Blobstore或Google存儲,因此請選擇最適合您需求的選項。有一篇不錯的文章用代碼示例描述它們全部here

您可以將文件名和blob位置保存在bigtable中。 一旦將數據存儲在GAE上,您可以創建一個特殊的servlet,它將獲取文件名,查找bigtable中的對應數據信息,例如從blobstore中找回並將其返回給用戶(只是一個想法)。

+0

謝謝你的回答。幸運的是,有一個實驗性功能允許在Blobstore(http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore)中以編程方式創建文件 - 以便該部分能夠正常工作。但是你的場景中的文件下載限制是多少? 1.在Blobstore中以編程方式創建文件,2.在BigTable中爲鍵創建條目,3.用戶調用將從Blobstore提供文件的servlet。在這種情況下文件大小是否下載限制32MB? –

+1

如果這還不足以讓您考慮使用Google存儲選項,那麼您可以通過一次api調用blobstore服務獲得最大32MB的空間。 – Kris

+0

程序化創建的blob的大小沒有限制,用戶在使用blob服務API提供服務時,可以一次全部下載它們。 –