Я пытаюсь загрузить некоторые данные в хранилище данных App Engine с помощью массового загрузчика. Для одного из моих типов сущностей у меня есть одно свойство, которое вычисляется из другого, поэтому мне бы очень хотелось выполнить некоторую постобработку для каждой сущности по мере ее импорта для выполнения этого расчета. Я постоянно встречаю краткие упоминания о теге преобразования 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, потому что я добавил в него несколько операторов печати, которые работали правильно). Все, что касается загрузки, работает, за исключением того, что моя функция постобработки не имеет абсолютно никакого эффекта. Когда я использую средство просмотра данных, в моем хранилище данных нет сообщений «Привет!».
Может ли кто-нибудь помочь мне немного? Спасибо!