gpt4 book ai didi

java - com.google.datastore.v1 和 com.google.cloud.datastore 之间的区别/缺少禁用索引的选项

转载 作者:搜寻专家 更新时间:2023-10-31 08:31:53 24 4
gpt4 key购买 nike

我目前正在构建一个 Google Cloud Dataflow 作业,该作业解析 XML 文件并使用 Google Datastore 保存条目,但不同的 Java 库似乎非常困惑。

首先我找到了 com.google.datastore.v1,它与 Dataflow 配合得很好,但后来我意识到缺少将字段排除在索引之外的选项。 (我的大部分字段不需要索引,也永远不会在查询中使用。)

然后我找到了 com.google.cloud.datastore,它有一个名为“setExcludeFromIndexes”的方法来实现我正在寻找的东西,但是 Dataflow 无法保存使用这个库生成的实体。

其中一个库是较新的还是有什么区别?有没有办法使用 v1 库禁用单个字段的索引?

最佳答案

v1-library是一个薄层,提供生成的原型(prototype)源和一些辅助函数。
google-cloud-datastore是一个使用 v1 库的包装器,旨在更加用户友好。
为了允许不同的 Datastore 客户端库与 Dataflow 交互,我们使用 v1 库,因为它是最小公分母。

理想情况下,您会使用 google-cloud-datastore 库,但根据版本的不同,v1-library 和 google-cloud-datastore 可能具有相互冲突的依赖项(尤其是 protobuf 3.0.0 v 3.0.0-beta-1)在这种情况下,您要么必须选择兼容版本,要么直接使用 v1-library。

v1-library 辅助函数可能不足以从索引中排除字段,但您始终可以通过直接处理原型(prototype)消息来创建自己的辅助函数。在这种特殊情况下,您将创建自己的值并设置 exclude_from_indexes明确地。

关于java - com.google.datastore.v1 和 com.google.cloud.datastore 之间的区别/缺少禁用索引的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41471190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com