.NET idiomatic client libraries for Google Cloud Platform services.
The following libraries are available at a GA quality level:
- Google Cloud Datastore - API docs (GA)
- Google Cloud Diagnostics for ASP.NET - API docs (GA)
- Google Cloud Diagnostics for ASP.NET Core - API docs (GA)
- Google Stackdriver Logging - API docs (GA)
- Integration with Log4Net is provided via Google.Cloud.Logging.Log4Net (GA)
- Google Cloud Storage - API docs (GA)
- Stackdriver Trace - API docs (GA)
- Google Cloud Translation - API docs (GA)
The following libraries are available at a late beta quality level:
- Google BigQuery - API docs (late beta)
- Google Cloud Natural Language - API docs (late beta)
- Additionally, a separate package containing experimental features is available
- Google Cloud Speech - API docs (late beta)
- Google Cloud Vision - API docs (late beta)
The following libraries are available at a beta quality level:
- Stackdriver Error Reporting - API docs (beta)
- Stackdriver Monitoring - API docs (beta)
- Google Cloud Pub/Sub - API docs (beta)
- Google Cloud Spanner: four packages are available, all beta:
- 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
The following libraries are available at an alpha quality level:
- Google Cloud Metadata - API docs (alpha)
- Google Cloud Video Intelligence - API docs (alpha)
- Google Cloud Data Loss Prevention - API docs (alpha)
See the API documentation for details of the status of each library.
Note: This client is a work-in-progress, and may occasionally make backwards-incompatible changes.
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)(https://cloud.google.com/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.
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING.md for more information on how to get started.
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.
Late Beta: Libraries defined at a Late Beta quality level are expected to be mostly stable and we're working towards their release candidate. We will address issues and requests with a higher priority.
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.