2

我有一个似乎使用“com.google.api.services.cloudkms.v1.CloudKMS”来调用 KMS 的 java 代码库。在线文档说使用“com.google.cloud.kms.v1.KeyManagementServiceClient”

当我查找这两个软件包时,似乎都已更新,但是参考文档建议使用后者。

https://developers.google.com/resources/api-libraries/documentation/cloudkms/v1/java/latest/com/google/api/services/cloudkms/v1/CloudKMS.html

https://cloud.google.com/kms/docs/reference/libraries

有人能告诉我这两个客户包有什么区别吗?我是否应该移到参考链接的那个?

4

1 回答 1

3

一般来说,您应该更喜欢参考库页面上引用的库,目前com.google.cloud.kms. 网站上的示例和教程将使用此客户端库。

历史可能比您需要知道的要多,但我们有两个客户端库,因为它们运行在不同的协议上。新库(参考页面上列出的库)使用gRPC进行通信。这意味着更少的带宽和更少的时间序列化/反序列化 JSON。另一方面,gRPC 需要 HTTP/2,而一些组织还不能/不会支持 HTTP/2。因此,我们仍然发布和维护基于 HTTP/1 的 REST 遗留库。除非您不能使用 HTTP/2,否则强烈建议您使用 gRPC。

您可以在Kickstart your cryptography with new Cloud KMS 客户端库和示例中阅读有关背景和技术细节的更多信息。

于 2019-07-29T16:36:32.753 回答