Выбор правильной версии библиотеки хранилища данных GCP для .Net Core - PullRequest
0 голосов
/ 29 мая 2018

Для хранилища данных 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 голосов
/ 29 мая 2018

Отказ от ответственности / полномочия: я являюсь основным автором Google.Cloud.Datastore.V1 и отвечаю за клиентские библиотеки Google Cloud для .NET.Итак, я знаю, о чем я говорю, но у меня есть предвзятость:)

Вы действительно должны выбирать между Google.Cloud.Datastore.V1 и Google.Apis.Datastore.v1 - на данный момент нет смысла использовать бета-библиотеку.

Однако, 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с которым удобнее работать, чем вручную отслеживать идентификатор транзакции и т. д. В сообщениях protobuf также имеется множество преобразований и дополнительных методов, облегчающих работу с Datastore.

Обе библиотеки должны нормально работать с.NET Core, но Google.Cloud.Datastore.V1 требует встроенной библиотеки gRPC, которая в настоящее время работает только с x86 и x64.На данный момент ни одна библиотека не поддерживается в UWP, Xamarin или Unity, но могут быть некоторые контексты, где Google.Apis.Datastore.v1 работает для вас, а библиотека gRPC - нет.Я хотел бы начать с попытки использования Google.Cloud.Datastore.V1.

...