可能重複:
Does Google App Engine allow creation of files and folders on the server?爲什麼GAE文件系統是隻讀的?
我不喜歡GAE的這一特點。爲什麼GAE的文件系統是隻讀的?有時我需要將信息存儲在xml文件中,有時也會將一些數據保存在文本文件中。任何人都可以解釋爲什麼GAE提供只讀文件系統?
可能重複:
Does Google App Engine allow creation of files and folders on the server?爲什麼GAE文件系統是隻讀的?
我不喜歡GAE的這一特點。爲什麼GAE的文件系統是隻讀的?有時我需要將信息存儲在xml文件中,有時也會將一些數據保存在文本文件中。任何人都可以解釋爲什麼GAE提供只讀文件系統?
請記住,任何App Engine應用程序可能在許多數據中心的許多不同計算機上運行許多副本。如果您可以將文件寫入文件系統,則必須在所有正在運行的實例以及從此刻創建的每個新實例中一致地複製該文件。
您可以使用blobstore(如Bugs指出的那樣,它可以在不打擾您的應用程序的情況下自行提供文件),數據存儲與memcache(通常足夠快)結合使用,Google的Cloud Storage(與亞馬遜的S3,也可以自己提供文件),甚至可以通過http訪問外部服務(如S3)。
您可以在一個字符串上生成XML文件並進行存儲。當有人擊中你的/myfile.xml
時,你所需要做的就是將它讀回(從你存儲的任何地方)並提供。
因此谷歌使用分佈式架構來存儲網絡應用程序?你是什麼意思_「你可以在一個字符串上生成XML文件並存儲它。」_ – saplingPro
App Engine是非常*分佈式的。 您可以使用StringIO(http://docs.python.org/library/stringio.html)並將類似文件的對象傳遞給您的XML生成器,並在完成時提取內容並存儲它任何地方,但一個文件 – rbanffy
我需要維護一個xml文件。我怎麼做 ? – saplingPro
但問題是爲什麼GAE文件系統是隻讀的? –
這就是頁面解釋的內容 - 「爲什麼我不能寫入這個文件?」。 – Bugs