我正在试验应用程序的Google云存储备份功能。
使用gsutil下载备份文件后,如何将它们加载到本地开发服务器?
是否有可用于这些格式的解析器(例如,协议缓冲区)?
答案 0 :(得分:7)
备份存储在leveldb record format中,您应该可以使用以下内容阅读:
答案 1 :(得分:7)
Greg Bayer编写了一些Python代码,展示了如何在blog post中执行此操作:
# 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!
答案 2 :(得分:0)
对于那些使用Windows的人,将开放行更改为: raw = open('path_to_datastore_export_file','rb')
必须以二进制模式打开文件!