如何使用 gcloud Java 客户端将列表 属性 添加到实体?
How to add a list property to an entity using gcloud Java client?
我可以将 属性 设置为新实体:
Entity.Builder builder = Entity.builder(actKey);
builder.set("name", someName);
我可以看到一种将列表添加为 属性:
的方法
List<Value<String>> aliases = new ArrayList<>();
builder.set("aliases", aliases);
但是,我找不到如何创建这个 Value<String>
。 DatastoreV1 中有一个 DatastoreHelper.makeValue()
方法,但它创建了一个不同的 Value
对象。
查看gcloud的源码,答案是这样的:
Builder aliases = ListValue.builder();
while (someIterator.hasNext()) {
aliases.addValue(StringValue.builder("some string").build());
}
builder.set("aliases", aliases.build());
我可以将 属性 设置为新实体:
Entity.Builder builder = Entity.builder(actKey);
builder.set("name", someName);
我可以看到一种将列表添加为 属性:
的方法List<Value<String>> aliases = new ArrayList<>();
builder.set("aliases", aliases);
但是,我找不到如何创建这个 Value<String>
。 DatastoreV1 中有一个 DatastoreHelper.makeValue()
方法,但它创建了一个不同的 Value
对象。
查看gcloud的源码,答案是这样的:
Builder aliases = ListValue.builder();
while (someIterator.hasNext()) {
aliases.addValue(StringValue.builder("some string").build());
}
builder.set("aliases", aliases.build());