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
?
答案 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);
(回答我自己的问题,因为花了我相当长的时间才能解决!)