我正在试验应用程序的 Google 云存储备份功能。
使用 gsutil 下载备份文件后,如何将它们加载到本地开发服务器中?
是否有可用于这些格式的解析器(例如,协议缓冲区)?
我正在试验应用程序的 Google 云存储备份功能。
使用 gsutil 下载备份文件后,如何将它们加载到本地开发服务器中?
是否有可用于这些格式的解析器(例如,协议缓冲区)?
备份以leveldb 记录格式存储,您应该能够读取然后使用:
Greg Bayer 在一篇博文中写了一些 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!
对于那些使用 Windows 的人,将 open 行更改为: raw = open('path_to_datastore_export_file', 'rb')
该文件必须以二进制模式打开!