在默认的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文件中的键列导入数据存储区,没有任何问题。但它似乎什么都不做。 (其他列虽然解析得很好)
答案 0 :(得分:2)
您需要import_transform才能将密钥输入数据存储区。导出转换用于写出csv文件。
我认为没有内置的转换方法可以将字符串转换回键。
我编写了两个辅助函数来处理导出和导入键: key_to_reverse_str (export) and reverse_str_to_key (import) 我们的想法是在出口时保持人类可读的价值,但保留导入所需的所有数据。它们可能对你有用。
答案 1 :(得分:1)
我是对的,默认工具就足够了。不需要import_transform。我无法解析键值,因为无论它包含哪个字段,csv文件中的第一列(包含键)都无法解析。只需放置一个虚拟列作为第一列解决问题。
@Calvin,抱歉,我没有尽快验证你的答案。