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

时间:2018-05-29 04:12:05

标签: 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上的示例应用程序使用了第一个。

1 个答案:

答案 0 :(得分:6)

免责声明/授权:我是Google.Cloud.Datastore.V1的主要作者,我负责Google Cloud Client Libraries for .NET。所以我知道我在这里谈论的是什么,但我确实有偏见:)

你应该在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和协议缓冲区有效负载。
  • Google.Apis.Datastore.v1完全自动生成,使用我们的“旧”代码生成技术。它应该工作,但它不像最近的代码生成那么干净。 Google.Cloud.Datastore.V1是生成的代码和手写代码的混合体。

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

这两个库应该可以与.NET Core一起使用,但是Google.Cloud.Datastore.V1确实需要一个gRPC本机库,它目前只适用于x86和x64。 UWP,Xamarin或Unity目前都不支持这两个库,但可能有某些上下文,其中Google.Apis.Datastore.v1适用于您但gRPC库却没有。我会首先尝试使用Google.Cloud.Datastore.V1