バルクアップローダーを使用して、AppEngineデータストアにデータをアップロードしようとしています。私のエンティティタイプの1つには、別のプロパティから計算される1つのプロパティがあるため、この計算を行うためにインポートされる各エンティティに対して、後処理を実行したいと思います。post_import_function変換タグについての簡単な言及がありますが、実際の包括的なドキュメントや例はありません。
今のところ、post_import_functionを機能させるためだけに簡単なテストを実行しようとしています。
私のエンティティモデル:
class TestEntity(db.Model):
location = db.GeoPtProperty()
cells = db.StringListProperty() # Computed from location
私のbulkloader.yamlファイルの関連部分は次のようになります:
- kind: TestEntity
[... connector info ...]
property_map:
[... transform info for __key__ and location here ...]
post_import_function: post_transform.post_process_testentity
そして私のpost_process_testentity関数:
def post_process_testentity(input_dict, entity_instance, bulkload_state):
entity_instance.cells = [u'Hello there!']
return entity_instance
これらすべてを使用してデータのアップロードを行うと、エラーは発生しません(正しく実行されたいくつかの印刷ステートメントを内部に追加したため、post_process_testentityが入力されていることがわかります)。後処理機能がまったく効果がないことを除いて、アップロードに関するすべてが機能します。データビューアを使用すると、データストアに「Hellothere!」が表示されません。
誰かが私を少し助けてくれませんか?ありがとうございました!