データストアに於ける動的プロパティ作成

GAE関連参考書籍を見るにアマゾンでも邦訳されたるは数少ない中、 日経ソフトウェア2009年1月号 にて扱われたる内の特集の2、松尾貴史氏の文責なる タダで手軽に始められる Google App Engine でWebアプリを公開してみよう が当ブログのレベル的にも程好く参考にさせていただくも、 雑誌たれば其の情報の早さが肝が処、1月号と云えば既に去年は12月発売のものを、 月遅れと云うには大巾な遅延となりたる桜の盛りも過ぎ様かと云う、 正しく間抜けが字面の似つかわしい当アーティクルにて御座候。

当ブログは Google App Engine カテゴリーの前回なる2009年4月2日のアーティクル Google App Engine に於けるWebデータ保存 にてはプロパティを事前に決め置く処理も、松尾氏に依れば
アプリケーションを作るときは、 データストアに格納するデータの形式を前もって決めておくことが基本ですが、 なかなか決められないこともあります。
Datastore APIには、このようなときに便利なクラスがあります。 dbモジュールの「Expando」というdb.Modelを継承したクラスを使うと、 モデル・クラスにプロパティとして定義していない形式のデータでも 動的にデータストアに格納できます。
とあり、此れを今回は実際に Google App Engine スペース上に展開して見ました。
スポンサーリンク
此処に氏のサンプルを其の儘利用させていただくに当たり、 当ブログは2008年12月4日のアーティクル、 webappフレームワーク利用による複数頁への対応 にて考慮した事項と整合性を保ち乍も、 実は今回の追加は従来が手法ならぬは、 app.yaml に依るマッピングをば採用、氏の記事67頁より引用の、
webapp Frameworkの最大の役目は、 URLとリクエスト・ハンドラを対応付けることにあります。 ただし、URLとそれに対応するプログラムを対応付ける方法はほかにもあります。
設定ファイルであるapp.yamlでURLとPythonプログラムを対応付けるという方法もあるのです。
に従った上での試用にてあります。
斯うして我がWebアプリケーション擬きに追加したが、 ソングDB にて、これはデータベース作成時に表示にインデントさせぬ曲名を格納するプロパティの title のみ決定の後、エンティティ追加時にプロパティを追加、 更にはデータストア格納前にDragonflyに於けるプロパティ last_minute_note を追加した結果を表示しています。

とは云え此れでは其の内容が少々此の身にも分かり難くあった為、 前回利用した「Neuter Bill」ボタンを「ADD BEATLES」ボタンとし、 プロパティの随時追加される様子を表したものが、 ソングDB+ビートルズ になります。 「ADD BEATLES」ボタンを押すと順次、データストアに追加された曲名が表示されると共に、 プロパティも追加されるために表示の行が曲名によっては増えているのが見て取っていただけると思います。 抔と申すも、実は此れ、プロパティの追加の追加方法が判明しない儘の実装にあれば、 上手く実行されずに果てはローカルのテスト結果とオンライン上の結果が異なる抔して、 遂に矢折れ刀尽き、力技にて毎回データストアをクリアして後、 初期に生成するプロパティはtitleだけにて手法其の物は仕様通りなるものの、 総てを新たに登録すると云う手順を踏んでいます処が悲しき処。
又、同様の理由から恥し乍、 上手く動作する保証もなく、時々挙動不審なれば、 クリアーDB を利用いただけば、データストアが真っ新となり、 少し許りの間は想定に従い動作してくれるのではないかと存知ます。

前回は愈々当方の先手が待望なる BigTable の前門の霞み見えたとて、勢い込んだ突入も軽く弾き飛ばされ突き立てたは竹槍にあらぬ尻餅の次第、 上記が通り、思う処迄は到底手の届かぬものの、 遅遅として進まぬ状況に最早此れ迄、と特集2Part2は此の辺にて後ろ髪引かれ乍も捨て置き、 次回は漸う章立ても本書にては最後たる特集2Prat3に進み度思い居ります。

1件のコメント

  1. Hamazo Top 200 ブログランキング推移表

    当ブログは静岡県西部、浜松市でよく用いられているブログポータルのHamaZo(はまぞう)を利用していますが、このシステムには2010年8月現在18,000余りのブログが登録されています。ブログの集まる処自ずからランキングの発生す、と云う訳ではありませんが利用者の要請抔考慮

コメントは受け付けていません。