使用Google Cloud Dataflow的数据存储区Java API将属性设置为null吗?

时间:2018-07-18 04:24:21

标签: java google-cloud-datastore google-cloud-dataflow apache-beam

Google的大多数Java数据存储Java文档中提到的com.google.cloud.datastore包为Builder类提供了setNull方法,该方法用于将任何属性值设置为null,例如

FullEntity.Builder<IncompleteKey> builder = FullEntity.newBuilder();
builder.setNull("propertyName");

Google Cloud Dataflow / Apache Beam的DatastoreIO类要求软件包com.google.datastore.v1中包含Entities,并且构建器方法不包括类似的setNull方法。如何使用V1 Java API将属性设置为null

1 个答案:

答案 0 :(得分:3)

如果使用com.google.datastore.v1包Entity and Value,这是设置空值的方法(使用Apache Beam / Google Dataflow):

import com.google.datastore.v1.Entity;
import com.google.datastore.v1.Entity.Builder;
import com.google.datastore.v1.Value;
import com.google.protobuf.NullValue;

Value nullValue = Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build();
Entity.Builder builder = Entity.newBuilder();
builder.putProperties("propertyName", nullValue);

(回答我自己的问题,因为花了我相当长的时间才能解决!)