【问题标题】:Set a property to null with Google Cloud Dataflow's Java API for Datastore?使用 Google Cloud Dataflow 的 Java API for Datastore 将属性设置为 null?
【发布时间】:2018-07-18 04:24:21
【问题描述】:

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

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

Google Cloud Dataflow/Apache Beam 的 DatastoreIO 类需要 com.google.datastore.v1 包中的实体,而构建器方法不包含类似的 setNull 方法。如何使用 V1 Java API 将属性设置为 null

【问题讨论】:

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


    【解决方案1】:

    如果使用com.google.datastore.v1 包实体和值,这是设置空值的方法(使用 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);
    

    (回答我自己的问题,因为我花了很长时间才弄清楚这一点!)

    【讨论】:

      猜你喜欢
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 2021-10-11
      • 2021-02-21
      • 2016-10-12
      相关资源
      最近更新 更多