.NET idiomatic client libraries for Google Cloud Platform services.
All the GA releases currently available on NuGet depend on GAX version 2.10 or earlier.
This makes them incompatible with any gRPC 2.x (including Grpc.Core, Grpc.Core.Api, Grpc.Net.Client, Grpc.AspNetCore etc), and also incompatible with the await foreach
feature of C# 8, due to the dependency on System.Interactive.Async version 3.2.0.
We're planning on a major version bump, taking the opportunity to migrate to a new code generator at the same time. Please see the documented plan and subscribe to the tracking issue for more information.
The following libraries are available at a GA quality level:
- Google Cloud Asset Inventory - V1 API docs (GA)
- Additionally, the following library is available for access to beta API functionality:
- V1Beta1 API docs (beta)
- Google Cloud AutoML - API docs (GA)
- Google BigQuery Data Transfer - API docs (GA)
- Google BigQuery - API docs (GA)
- Google Cloud Bigtable - API docs (GA)
- Also the Bigtable admin API - API docs (GA)
- Billing - API docs (GA)
- Google Kubernetes Engine - API docs (GA)
- Google Cloud Dataproc - API docs (GA)
- Google Cloud Datastore - API docs (GA)
- Google Cloud Debugger - API docs (GA)
- Google Cloud Container Analysis - API docs (GA)
- Google Cloud Diagnostics for ASP.NET - API docs (GA)
- Google Cloud Diagnostics for ASP.NET Core - API docs (GA)
- Dialogflow Enterprise Edition - API docs (GA)
- Google Cloud Data Loss Prevention
- V2 API docs (GA)
- The Google.Cloud.Dlp.V2Beta1 package has now been deprecated, and is unlisted on nuget.org. Please update to Google.Cloud.Dlp.V2.
- Google Cloud Firestore: three packages are available, all GA:
- Google.Cloud.Firestore: High-level client library for Google Cloud Firestore (recommended)
- Google.Cloud.Firestore.V1: Low-level access to Firestore API
- Google.Cloud.Firestore.Admin.V1: Admin API (e.g. for index management)
- Google Cloud Key Management Service (KMS) - API docs (GA)
- Google Stackdriver Logging - API docs (GA)
- Integration with Log4Net is provided via Google.Cloud.Logging.Log4Net (GA)
- Integration with NLog is provided via Google.Cloud.Logging.NLog (GA)
- Google Cloud Natural Language - API docs (GA)
- Stackdriver Monitoring - API docs (GA)
- Google OS Login - API docs (GA)
- The V1Beta API package is also available (beta)
- Google Cloud Pub/Sub - API docs (GA)
- Google Cloud Memorystore for Redis - API docs (GA)
- The V1Beta1 API package is also available (beta)
- Recommender - API docs (GA)
- Google Cloud Scheduler - API docs (GA)
- Google Cloud Security Command Center - API docs (GA)
- The V1P1Beta1 API package is also available (beta)
- Google Cloud Spanner: four packages are available, all GA:
- Google.Cloud.Spanner.Data: ADO.NET provider for Google Cloud Spanner (recommended)
- Google.Cloud.Spanner.V1: Low-level access to Spanner API
- Google.Cloud.Spanner.Admin.Database.V1: Database administration API
- Google.Cloud.Spanner.Admin.Instance.V1: Instance administration API
- Google Cloud Speech - API docs (GA)
- The V1P1Beta1 API package is also available (beta)
- Google Cloud Storage - API docs (GA)
- Google Cloud Tasks -API docs (GA)
- Stackdriver Trace v1 - API docs (GA)
- Stackdriver Trace v2 - API docs (GA)
- Google Cloud Translate - API docs (GA)
- This uses the gRPC transport for access to the Translate V3 API, whereas Google.Cloud.Translation.V2 uses the HTTP/JSON transport for access to the Translate V2 API.
- Google Cloud Translation - API docs (GA)
- Google Cloud Text-to-Speech - API docs (GA)
- Google Cloud Video Intelligence - API docs (GA)
- Google Cloud Vision - API docs (GA)
- Additionally, the following libraries are available for access to beta API functionality:
The following libraries are available at a beta quality level:
- Google BigQuery Storage - API docs (beta)
- Managed Service for Microsoft Active Directory - API docs (beta)
- Stackdriver Error Reporting - API docs (beta)
- Secret Manager - API docs (beta)
- Google Cloud Web Risk - API docs (Beta)
The following libraries are available at an alpha quality level:
- Google Cloud Metadata - API docs (alpha)
See the API documentation for details of the status of each library.
If you need support for other Google APIs, check out the Google .NET API Client library
- getting-started-dotnet - A quickstart and tutorial that demonstrates how to build a complete web application using Cloud Datastore, Cloud Storage, and Cloud Pub/Sub and deploy it to Google Compute Engine.
Most Google Cloud Libraries for .NET require a project ID. If you don't remember yours (or haven't created a project yet), navigate to the Google Developers Console to view your project ID (or create a new project and then get the ID). Once done, record the value and make sure to pass it as a parameter to the methods that require it.
Every API call needs to be authenticated. In order to successfully make a call, first ensure that the necessary Google Cloud APIs are enabled for your project and that you've downloaded the right set of keys (if it applies to you) as explained in the authentication document.
Next, choose a method for authenticating API requests from within your project:
- When using
google-cloud-dotnet
libraries from within Compute/App Engine, no additional authentication steps are necessary. - When using
google-cloud-dotnet
libraries elsewhere, you can do one of the following:-
Define the environment variable GOOGLE_APPLICATION_CREDENTIALS to be the location of the key. For example:
set GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
-
If running locally for development/testing, you can authenticate using the Google Cloud SDK. Download the SDK if you haven't already, then login by running the following in the command line:
gcloud auth application-default login
-
See the Supported Platforms documentation for details on where the Google Cloud Libraries for .NET are supported.
The Google Cloud Client Libraries for .NET follow Semantic Versioning.
The version number in the package name (and .NET namespace) represents the version of the underlying API; the version number for the package itself indicates the status of the client library, according to the following quality levels:
GA: Libraries defined at a GA (General Availability) quality level are expected to be stable: breaking API changes will not be made without a new major release.
Beta: Libraries defined at a Beta quality level are expected to be stable and working, but the API surface is still under active development. We encourage you to experiment with these libraries, but expect breaking changes in future versions. There may still be issues, but we have a fairly high degree of confidence.
Alpha: Libraries defined at an Alpha quality level are still experimental. They may have significant issues, and the API surface will almost certainly change before a final release. We encourage experimentation with these libraries on test projects, but strongly discourage you from using them in a production environment.
Apache 2.0 - See LICENSE for more information.