如何将 appengine Datastore API 与 Dataflow 一起使用?

How to use appengine Datastore API's with Dataflow?

我们的数据存储中有一个来自 Appengine 应用的大型数据集。现在我想对它们做一些 ETL 以将它们推送到 bigquery,我想到了使用 Dataflow 批处理作业。

我找到的所有示例都使用此 class 查询数据存储:

import com.google.api.services.datastore.DatastoreV1.Query;

这确实有效。但是,我不熟悉这个 DatastoreV1 API 并且想使用 appengine SDK 提供的 API,如下所示:

import com.google.appengine.api.datastore.Query;

问题是 DatastoreIO 不接受这些查询:

PCollection<Entity> projects = p.apply(Read.from(DatastoreIO.source().withQuery(q).withDataset(DATASET_ID)));

它只会带 DatastoreV1.Query 个对象。有什么方法可以使用 API 提供的应用程序引擎吗?我对那些电话更加熟悉。更好的是,如果我们可以使用 Objectify,那就太棒了 :)

谢谢!

API 的当前实现不可能做到这一点。我们可以将添加视为一项功能,并且很乐意接受拉取请求以扩展当前功能。 AppEngine 团队还积极致力于提高他们的 SDK 和 Datastore 之间的互操作性 API。