Appengine批量下载程序不下载列表属性
这与我之前的一个问题有关 ,但有新的信息。
我正在尝试配置bulkdownloader以从我的Java appengine应用程序下载数据,使得拥有对象列表转换为每个父对象内的嵌套XML路径。 我一直在使用export transform transform.child_node_from_list
。 但是,list属性实际上从未被下载并传递给该转换!
这看起来类似于在appengine数据存储区查看器中查看实体时所获得的效果 – 父实体根本不显示列表属性。 您必须通过代码访问它。
那么我的问题是:如何使用批量下载程序访问此列表属性? 如果我使用--kind=ParentEntity
下载,你认为这会阻止它下载任何ChildEntity
吗? (有没有办法指定“各种”或任何东西?)
在python下载配置中,模型实际上直接引用到配置文件中。 我是否需要模拟一个模仿我的JDO模型并使用该引用的python模型?
作为参考,我的每个文件的缩写版本如下:
downloadconfig.yaml:
transformers: - kind: ParentEntity connector: simplexml connector_options: xpath_to_nodes: /Parents/Parent style: element_centric property_map: - property: __key__ external_name: key export_transform: transform.key_id_or_name_as_string - property: name external_name: name # Type: String Stats: 30 properties of this type in this kind. - property: children external_name: Children import_transform: transform.list_from_child_node('Children/Child') export_transform: transform.empty_if_none(transform.child_node_from_list('Child'))
ParentEntity.java:
package experiment.dataexport; import java.util.List; import javax.jdo.annotations.IdGeneratorStrategy; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; import com.google.appengine.api.datastore.Key; @PersistenceCapable public class ParentEntity { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) public Key key; @Persistent public String name; @Persistent(defaultFetchGroup = "true") public List children; }
示例XML输出:
Parent 5613 72001 Parent 1237 73001
(每个节点中应该有几个
元素,但是下载器检索
None
而不是正确的子列表)