匯出方式很簡單,只需到 Google App Engine -> Application -> YourApp -> Data -> Datastore Admin -> 勾選想要的資料表(Entities) -> Backup Entities ,不一會兒就可看到 Backups 有資料了。
接著是下載方式,有一派是說用 gsutils ,但我沒試成功,可能跟 gsutils 使用時機有關,我則是透過網頁把各個檔案下載來使用:Google App Engine -> Application -> YourApp -> Data -> Blob Viewer -> 可看到幾個小檔資料,就簡易人工點擊下載。
最後,寫簡單的程式來分析吧:
import webapp2
from google.appengine.api.files import records
from google.appengine.datastore import entity_pb
from google.appengine.api import datastore
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
for record in records.RecordsReader(open('file-part-1', 'r')):
entity_proto = entity_pb.EntityProto(contents=record)
entity = datastore.Entity.FromPb(entity_proto)
self.response.write(entity)
app = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
沒有留言:
張貼留言