【问题标题】:How can one load an AppEngine cloud storage backup to a local development server?如何将 AppEngine 云存储备份加载到本地开发服务器?
【发布时间】:2012-09-02 15:46:35
【问题描述】:

我正在试验应用程序的 Google 云存储备份功能。

使用 gsutil 下载备份文件后,如何将它们加载到本地开发服务器中?

是否有可用于这些格式的解析器(例如,协议缓冲区)?

【问题讨论】:

  • 你用的是python还是java?

标签: python google-app-engine


【解决方案1】:

Greg Bayer 在blog post 中写了一些 Python 代码来展示如何做到这一点:

# Make sure App Engine SDK is available
import sys
sys.path.append('/usr/local/google_appengine')
from google.appengine.api.files import records
from google.appengine.datastore import entity_pb
from google.appengine.api import datastore

raw = open('path_to_datastore_export_file', 'r')
reader = records.RecordsReader(raw)
for record in reader:
  entity_proto = entity_pb.EntityProto(contents=record)
  entity = datastore.Entity.FromPb(entity_proto)
  #Entity is available as a dictionary!

【讨论】:

  • *RecordsReader 代替 RecordReader
【解决方案2】:

【讨论】:

【解决方案3】:

对于那些使用 windows 的人,将打开的行更改为: raw = open('path_to_datastore_export_file', 'rb')

文件必须以二进制模式打开!

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2019-01-11
    • 1970-01-01
    相关资源
    最近更新 更多