这些 google KMS 客户端软件包有啥区别? (CloudKMS 与 KeyManagementServiceClient)

Posted

技术标签:

【中文标题】这些 google KMS 客户端软件包有啥区别? (CloudKMS 与 KeyManagementServiceClient)【英文标题】:Which is the difference between these google KMS client packages? (CloudKMS vs KeyManagementServiceClient)这些 google KMS 客户端软件包有什么区别? (CloudKMS 与 KeyManagementServiceClient) 【发布时间】:2019-12-06 23:41:45 【问题描述】:

我有一个似乎使用“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

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

【问题讨论】:

【参考方案1】:

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

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

您可以在Kickstart your cryptography with new Cloud KMS client libraries and samples阅读更多关于背景和技术细节的信息。

【讨论】:

以上是关于这些 google KMS 客户端软件包有啥区别? (CloudKMS 与 KeyManagementServiceClient)的主要内容,如果未能解决你的问题,请参考以下文章

两个 Google JS 客户端有啥区别:platform.js 与 api.js?

Java:NIO 和 NIO.2 到底有啥区别?

我应该如何使用 Google Cloud KMS 存储由另一个应用程序生成的访问令牌?

可变分块格式和固定分块格式有啥区别?

HTTP和FTP有啥区别?

Google Identity Toolkit、Google OAuth、Firebase Auth 和 Google+ 登录有啥区别