代码之家  ›  专栏  ›  技术社区  ›  user944849

使用google cloud dataflow的java api for datastore将属性设置为空?

  •  0
  • user944849  · 技术社区  · 6 年前

    这个 com.google.cloud.datastore google的大多数java文档中提到的datastore包为builder类提供了一个 setNull 用于将任何属性值设置为 null ,例如

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

    google cloud dataflow/apache beam的datastoreio类需要包中的实体 com.google.datastore.v1 ,并且生成器方法不包含类似的 设置空值 方法。如何将属性设置为 无效的 使用v1javaapi?

    1 回复  |  直到 6 年前
        1
  •  3
  •   user944849    6 年前

    如果使用 com.google.datastore.v1 包实体和值,这是如何设置空值(使用apache beam/google数据流):

    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);
    

    (回答我自己的问题,因为我花了很长时间才弄明白!)