为什么 Google 提供这么多客户端库?我应该将哪个用于 Stackdriver 日志记录?
Why does Google offer so many client libs? Which should I use for Stackdriver logging?
我正在尝试将日志发送到 Stackdriver,我对我可以使用的两个依赖项的选项感到有点困惑 —
Google Cloud Client Library推荐google-云版本0.35.0-alpha
logging docs推荐我安装google-cloud-logging 1.14.0版本
谷歌搜索 LogEntryOperation I would like to use yields google-api-services-logging 版本 v2-rev577-1.23.0.
Google 的 API 之间的底层通信机制是否不同?
其中哪一个功能最全、最不可能被弃用并继续维护?为什么这么多?
Google Cloud 提供两种客户端库:
自动生成的库直接导出 REST API。这些称为“Google API 客户端库”。它们的优点是可以完整详细地涵盖每种语言的每个 API。
对于 Java,这些在 com.google.apis
中。这是您在搜索 LogEntryOperation 时找到的内容。
Hand-crafted 旨在更“自然”的库。这些被称为“Google Cloud APIs”。这些更易于使用,并且更适合语言的使用方式。但是,它们可用于较少的 API/language 组合,并不总是覆盖 100% 的 API。
对于Java,这些在com.google.cloud
中。这是我们的文档推荐的。 google-cloud
只是所有可用库的便利包,包括 logging-specific google-cloud-logging
包。
日志库是区别的一个很好的例子。由于实际的 REST API 公开了一个 LogEntryOperation resource, the auto-generated API just creates a LogEntryOperation class 盲目复制这个。
相比之下,手动创建的API有一个更简洁的命名Operationclass。另外,手动创建的API提供了更好的静态构造函数Builder,对first()
和last()
方法的命名也更加明智。
我正在尝试将日志发送到 Stackdriver,我对我可以使用的两个依赖项的选项感到有点困惑 —
Google Cloud Client Library推荐google-云版本0.35.0-alpha
logging docs推荐我安装google-cloud-logging 1.14.0版本
谷歌搜索 LogEntryOperation I would like to use yields google-api-services-logging 版本 v2-rev577-1.23.0.
Google 的 API 之间的底层通信机制是否不同?
其中哪一个功能最全、最不可能被弃用并继续维护?为什么这么多?
Google Cloud 提供两种客户端库:
自动生成的库直接导出 REST API。这些称为“Google API 客户端库”。它们的优点是可以完整详细地涵盖每种语言的每个 API。
对于 Java,这些在
com.google.apis
中。这是您在搜索 LogEntryOperation 时找到的内容。Hand-crafted 旨在更“自然”的库。这些被称为“Google Cloud APIs”。这些更易于使用,并且更适合语言的使用方式。但是,它们可用于较少的 API/language 组合,并不总是覆盖 100% 的 API。
对于Java,这些在
com.google.cloud
中。这是我们的文档推荐的。google-cloud
只是所有可用库的便利包,包括 logging-specificgoogle-cloud-logging
包。
日志库是区别的一个很好的例子。由于实际的 REST API 公开了一个 LogEntryOperation resource, the auto-generated API just creates a LogEntryOperation class 盲目复制这个。
相比之下,手动创建的API有一个更简洁的命名Operationclass。另外,手动创建的API提供了更好的静态构造函数Builder,对first()
和last()
方法的命名也更加明智。