如何使用 Dataflow 执行 Cloud Datastore 实体的迁移?

How can I perform migration of Cloud Datastore entities using Dataflow?

我目前正在使用一台按顺序运行并从命名空间读取实体的机器执行迁移,这对我来说很痛苦。是否可以使用 Google Cloud Dataflow 更轻松地执行迁移?

您应该能够使用 DatastoreIO 来操纵记录并并行处理它们。

PCollection<Entity> entities = p.apply(
     Read.from(DatastoreIO.read()
         .withDataset(datasetId)
         .withQuery(query)
         .withHost(host)));
p.apply(<Your transform>)
p.apply(DatastoreIO.writeTo(dataset));
p.run();

从 Dataflow SDK for Java 1.2.0 开始,添加了对查询和写入 Datastore Entities in namespaces 的支持。