我在Java SDK 1.9.1版中使用了数据流。 我需要从数据存储区读取某种类型,使用DataStoreIO并创建一个PCollection<实体>。我使用TemplateRunner运行数据流作业。当模板启动时,我需要读取的类型的名称将通过PipelineOptions传递。 (即,在图形构建时不知道) 如何使用ValueProvider为类型名称创建KindExpression。
EG。如果在图形构建时知道名称,我可以这样做 -
KindExpression k = KindExpression.newBuilder().setName("abc").build()
PCollection<Entity> myentities = pipeline.apply(DatastoreIO.v1().read().withProjectId("my-project").withQuery(Query.newBuilder().addKind(k).build()));
如果我事先不知道名字,我该如何构建查询。例如,TextIO有一个使用“withoutValidation”的条款
PCollection<String> mergeRuleTemplateString = pipeline
.apply(TextIO.Read.from(options.getInputFile()).withoutValidation());
DataStoreIO中是否有类似内容