【发布时间】:2014-03-01 09:50:15
【问题描述】:
似乎很少有关于使用 App Engine 的批量加载程序加载具有父键的实体的信息。 我尝试按照我在 StackOverflow 上找到的说明进行操作...
Uploading Entity with Parent Using Bulkloader
但一定有什么我还没有得到。 我希望大家能提供帮助。
我正在尝试加载新实体并为它们提供数据存储区中已有实体的父键。 父实体基本上只是一个“管理员”实体。我希望属于管理员的所有“汽车”实体都拥有这个父密钥。这样我就可以轻松地只搜索那些汽车。
admin.yml 和 admin.csv 如下...(我跳过序言和“变形金刚”)
管理员.YML
- kind: Admin
connector: csv
property_map:
- property: __key__
external_name: adminKey
export_transform: transform.key_id_or_name_as_string
- property: email
external_name: email
管理员.CSV
email
foo@foo.com
这很好用。创建了一个 Admin 实体。
现在我想将此实体用作我接下来加载的“汽车”实体的父级。 car.yml 和 car.csv 在下面...(再次跳过序言和“变压器”)
CAR.YML
- kind: Car
connector: csv
property_map:
- property: __key__
external_name: carKey
import_transform: transform.create_deep_key(('adminKey', 'adminKey'),('carKey', transform.CURRENT_PROPERTY))
export:
- external_name: adminKey
export_transform: transform.key_id_or_name_as_string_n(0)
- external_name: carKey
export_transform: transform.key_id_or_name_as_string_n(1)
- property: manufacturer
external_name: manufacturer
- property: model
external_name: model
CAR.CSV
manufacturer,model
Chevrolet,Impala
Ford,Focus
每次我使用 car.csv 运行 car.yml 时,我都会收到以下消息:
[ERROR] WorkerThread-0 中的错误:“adminKey”
此时我只是迷路了。 发布链接很可能无济于事。我可能都看过了,但似乎仍然无法理解。
提前致谢。
【问题讨论】:
-
嗨,解决办法是什么?
标签: google-app-engine yaml bulkloader