gae bulkloader不会在导入时解析密钥名称?

时间:2011-02-18 05:42:07

标签: google-app-engine

在默认的bulkloader.yaml中它说:

#    - Check that __key__ property is what you want. Its value will become
#      the key name on import, and on export the value will be the Key
#      object. If you would like automatic key generation on import and
#      omitting the key on export, you can remove the entire __key__
#      property from the property map.

所以我假设默认实现:

- property: __key__
      external_name: key
      export_transform: transform.key_id_or_name_as_string

应该将我的csv文件中的键列导入数据存储区,没有任何问题。但它似乎什么都不做。 (其他列虽然解析得很好)

2 个答案:

答案 0 :(得分:2)

您需要import_transform才能将密钥输入数据存储区。导出转换用于写出csv文件。

我认为没有内置的转换方法可以将字符串转换回键。

我编写了两个辅助函数来处理导出和导入键: key_to_reverse_str (export) and reverse_str_to_key (import) 我们的想法是在出口时保持人类可读的价值,但保留导入所需的所有数据。它们可能对你有用。

答案 1 :(得分:1)

我是对的,默认工具就足够了。不需要import_transform。我无法解析键值,因为无论它包含哪个字段,csv文件中的第一列(包含键)都无法解析。只需放置一个虚拟列作为第一列解决问题。

@Calvin,抱歉,我没有尽快验证你的答案。