アプリケーションの Google クラウド ストレージ バックアップ機能を試しています。
gsutil を使用してバックアップ ファイルをダウンロードした後、それらをローカルの開発サーバーに読み込むにはどうすればよいですか?
これらの形式 (プロトコル バッファなど) に使用できるパーサーはありますか?
アプリケーションの Google クラウド ストレージ バックアップ機能を試しています。
gsutil を使用してバックアップ ファイルをダウンロードした後、それらをローカルの開発サーバーに読み込むにはどうすればよいですか?
これらの形式 (プロトコル バッファなど) に使用できるパーサーはありますか?
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!
バックアップはleveldb record formatで保存され、次を使用して読み取ることができるはずです。
Windows を使用している場合は、開いている行を次のように変更します: raw = open('path_to_datastore_export_file', 'rb')
ファイルはバイナリ モードで開く必要があります。