对于GCP的数据存储区,我看到两个版本的Nuget,不确定它们之间有什么区别,以及在使用.Net Core应用程序时使用哪一个
Google.Cloud.Datastore.V1
Google.Apis.Datastore.v1beta3
第二个似乎最近更新了虽然https://cloud.google.com/datastore/docs/reference/libraries#client-libraries-install-csharp上的示例应用程序使用了第一个。
答案 0 :(得分:6)
免责声明/授权:我是Google.Cloud.Datastore.V1
的主要作者,我负责Google Cloud Client Libraries for .NET。所以我知道我在这里谈论的是什么,但我确实有偏见:)
你应该在Google.Cloud.Datastore.V1
和Google.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
。