【问题标题】:Choosing the right version of GCP''s Datastore library for .Net Core为 .Net Core 选择正确版本的 GCP 数据存储库
【发布时间】:2023-04-10 04:17:02
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    但是,Google.Cloud.Datastore.V1 是首选库。区别在于:

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

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

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

    【讨论】:

    • 我想我需要将 LINQ over Datastore github.com/neil-119/GAE-NET 的库转换为使用 gRPC,你们有计划使用 LINQ 原生支持
    • 你能给我指出stackoverflow.com/questions/50589928/…的正确方向吗
    • @skjagini:不,我们目前没有为 Datastore 提供 LINQ 提供程序的计划。永远不要说永远,但目前没有计划。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2020-01-29
    • 2019-12-11
    • 1970-01-01
    相关资源
    最近更新 更多