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

skj*_*ini 1 c# google-cloud-datastore google-cloud-platform .net-core

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

Google.Cloud.Datastore.V1
Google.Apis.Datastore.v1beta3
Run Code Online (Sandbox Code Playgroud)

第二个似乎最近更新了虽然在https://cloud.google.com/datastore/docs/reference/libraries#client-libraries-install-csharp使用第一个示例应用程序.

Jon*_*eet 6

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

你真的应该被采摘之间Google.Cloud.Datastore.V1Google.Apis.Datastore.v1-有在这一点上使用一个测试库没有意义的.

但是,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或统一,但可能会有一些背景这里Google.Apis.Datastore.v1为你工作,但GRPC图书馆没有.我会先尝试使用Google.Cloud.Datastore.V1.