パスワードを忘れた? アカウント作成
216400 journal

ko-zuの日記: GoogleAppEngineでハマったこと DataStoreバックアップとリストア

日記 by ko-zu

GoogleAppEngine for python datastoreで
entity.to_xml()がリストとキーを正しく扱ってくれないので自作YAML dumperを作成中ハマったこと。

エンティティから、
・変数でプロパティ名を指定しての取得
・参照先が存在しない、壊れたReferencePropertyのキー取得

val = db.Property(name=propname).get_value_for_datastore(entity)

開発サーバー用のキー変換

> entity.key().to_path()
['ParentKind', 123L, 'SomeKind', 256L]

これでやっとデータストアの完全なバックアップが取れるようになった。
YAMLのネイティブデータ型が便利。展開先モデルの自動生成は諦める方向で。

---
path: [Probe, 263085]
properties:
  comment: null
  disable: false
  errorcount: 0
  errormsgs: ['2010-04-29 02:06:15.462894: ApplicationError: 5 ']
  lastpolldate: 2010-05-02 10:10:24.581881
  probeversion: 12
  sid: [ServId, 192166]
  url: http://localhost:8888/probe.cgi
types:
  errormsgs: [text]
  sid: path

と思ったら開発サーバのデータストアが異常に重い・・・

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...