c# - 为 .Net Core 选择正确版本的 GCP 数据存储库

标签 c# .net-core google-cloud-platform google-cloud-datastore

对于 GCP 的数据存储,我看到了两个版本的 Nuget,不确定它们之间有什么区别,以及在使用 .Net Core 应用程序时应该使用哪个版本

Google.Cloud.Datastore.V1
Google.Apis.Datastore.v1beta3

虽然示例应用程序位于 https://cloud.google.com/datastore/docs/reference/libraries#client-libraries-install-csharp,但第二个似乎是最近更新的使用第一个。

最佳答案

免责声明/授权:我是 Google.Cloud.Datastore.V1 的主要作者,我负责 .NET 的 Google Cloud 客户端库。所以我知道我在说什么,但我确实有偏见 :)

您真的应该在 Google.Cloud.Datastore.V1Google.Apis.Datastore.v1 之间进行选择 - 此时使用 beta 库没有意义.

但是,Google.Cloud.Datastore.V1 是首选库。不同之处在于:

  • Google.Apis.Datastore.v1 使用 JSON 有效载荷在 HTTP/1.1 上工作。 Google.Cloud.Datastore.V1 使用 gRPC 和 Protocol Buffer 负载。
  • Google.Apis.Datastore.v1 是完全自动生成的,使用我们的“旧”代码生成技术。它应该可以工作,但不如最近的代码生成那么干净。 Google.Cloud.Datastore.V1 是生成代码和手写代码的混合体。

关于手写代码的部分很重要 - 这就是我们如何拥有像 DatastoreTransaction 这样的类的方式这比手动跟踪交易 ID 等更令人愉快。protobuf 消息还有很多转换和额外的方法,使 Datastore 更易于使用。

这两个库应该可以与 .NET Core 一起正常工作,但是 Google.Cloud.Datastore.V1 确实需要 gRPC native 库,该库目前仅适用于 x86 和 x64。目前 UWP、Xamarin 或 Unity 都不支持这两个库,但可能有一些上下文,其中 Google.Apis.Datastore.v1 适合您,但 gRPC 库不支持't。不过,我会先尝试使用 Google.Cloud.Datastore.V1

关于c# - 为 .Net Core 选择正确版本的 GCP 数据存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50576196/

相关文章:

c# - 获取 CheckBoxList 项目值

google-cloud-platform - 如何在 Travis 上安装 Google Cloud SDK?

c# - wpf 是否可以有一个可调整大小的水平扩展器?

c# - 如何从类中访问 ASP.NET Core DI 容器

c# - 从上下文菜单处理快捷方式

java - 是否有类似于 “dotnet add package xxx” 的 maven 命令?

c# - .NET Core 是否支持 Microsoft.AspNet.WebApi.Client?

集合中的 C# Automapper AfterMap 属性

amazon-s3 - Dataproc 镜像版本 1.4-debian9(预览版)缺少 AWS S3 jar (org.apache.hadoop.fs.s3a.S3AFileSystem)

django - App Engine 灵活 : Timed out waiting for the app infrastructure to become healthy