Инструменты для работы с дампами данных App Engine - PullRequest
4 голосов
/ 13 марта 2010

Используя утилиту bulkloader.py , вы можете загрузить все данные из хранилища данных своего приложения.

Однако не очевидно, как хранятся данные. Судя по всему, вы получаете файл SQLite со всеми данными в двоичном формате в одной таблице:

sqlite> .tables
bulkloader_database_signature  result  

sqlite> .schema result
CREATE TABLE result (
  id BLOB primary key,
  value BLOB not null,
  sort_key BLOB);

Есть ли инструменты для работы с этими данными?

1 Ответ

1 голос
/ 14 марта 2010

Хорошо, инструментов пока нет. Просто чтобы поделиться тем, что я нашел до сих пор:

Двоичные данные, хранящиеся в значении столбца, имеют формат буфера протокола Google. Каждая строка представляет одну сущность.

Используя Java SDK, вы можете декодировать данные:

 OnestoreEntity.EntityProto m = new OnestoreEntity.EntityProto();
 m.parseFrom(data);
 Entity entity = EntityTranslator.createFromPb(m);

 System.out.println(entity.getAppId());
 System.out.println(entity.getKind());
 System.out.println(entity.getKey());

 // the properties (a Map)
 System.out.println(entity.getProperties());
...