Java Appengine批量下载程序未下载列表属性
这与相关,但有新的信息 我试图将bulkdownloader配置为从我的Java appengine应用程序下载数据,以便将拥有的对象列表转换为每个父对象内的嵌套XML路径。我一直在使用export transformJava Appengine批量下载程序未下载列表属性,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,这与相关,但有新的信息 我试图将bulkdownloader配置为从我的Java appengine应用程序下载数据,以便将拥有的对象列表转换为每个父对象内的嵌套XML路径。我一直在使用export transformtransform.child\u node\u from\u list。但是,list属性从未被下载并传递到该转换 这与在appengine数据存储查看器中查看实体时得到的效果类似-父实体根本不显示list属性。您必须通过代码访问它 那么,我的问题是:如何使用批量下载程序访问此列
transform.child\u node\u from\u list
。但是,list属性从未被下载并传递到该转换
这与在appengine数据存储查看器中查看实体时得到的效果类似-父实体根本不显示list属性。您必须通过代码访问它
那么,我的问题是:如何使用批量下载程序访问此列表属性?如果我使用--kind=ParentEntity
下载,您认为这会阻止它下载任何子实体
?(有没有办法指定“所有种类”或任何东西?)
在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<ChildEntity> children;
}
package-experiment.dataexport;
导入java.util.List;
导入javax.jdo.annotations.IdGeneratorStrategy;
导入javax.jdo.annotations.PersistenceCapable;
导入javax.jdo.annotations.Persistent;
导入javax.jdo.annotations.PrimaryKey;
导入com.google.appengine.api.datastore.Key;
@持久的
公共类父实体
{
@主键
@持久性(valueStrategy=IdGeneratorStrategy.IDENTITY)
公钥;
@持久的
公共字符串名称;
@持久(defaultFetchGroup=“true”)
公开儿童名单;
}
XML输出示例:
<Parents>
<Parent>
<name>Parent 5613</name>
<key>72001</key>
<Children></Children>
</Parent>
<Parent>
<name>Parent 1237</name>
<key>73001</key>
<Children></Children>
</Parent>
</Parents>
家长5613
72001
家长1237
73001
(每个
节点中应该有几个
元素,但下载程序正在检索无而不是正确的子项列表)