Skip to content

RebelTat/google-cloud-node

Β 
Β 

Google Cloud Node.js Client Libraries

Node.js idiomatic client libraries for Google Cloud Platform services.

Libraries are available on GitHub and npm for developing Node.js applications that interact with individual Google Cloud services:

Repo API Docs Install Command Enable Free Tier
Access Approval πŸ““ npm i @google-cloud/access-approval enable βœ–
AI Platform πŸ““ npm i @google-cloud/aiplatform enable βœ–
AI Platform Notebooks πŸ““ npm i @google-cloud/notebooks enable βœ–
API Gateway πŸ““ npm i @google-cloud/api-gateway enable βœ–
App Engine Admin API πŸ““ npm i @google-cloud/appengine-admin enable βœ–
Area120 Tables API πŸ““ npm i @google/area120-tables enable βœ–
Artifact Registry πŸ““ npm i @google-cloud/artifact-registry enable βœ–
Asset Inventory πŸ““ npm i @google-cloud/asset enable βœ–
Assured Workloads for Government πŸ““ npm i @google-cloud/assured-workloads enable βœ–
AutoML πŸ““ npm i @google-cloud/automl enable βœ–
Bigtable πŸ““ npm i @google-cloud/bigtable enable βœ–
Billing πŸ““ npm i @google-cloud/billing enable βœ–
Billing Budgets πŸ““ npm i @google-cloud/billing-budgets enable βœ–
Binary Authorization πŸ““ npm i @google-cloud/binary-authorization enable βœ–
Build πŸ““ npm i @google-cloud/cloudbuild enable βœ–
Certificate Authority Service πŸ““ npm i @google-cloud/security-private-ca enable βœ–
Channel API πŸ““ npm i @google-cloud/channel enable βœ–
Data Catalog πŸ““ npm i @google-cloud/datacatalog enable βœ–
Data Labeling πŸ““ npm i @google-cloud/datalabeling enable βœ–
Data Loss Prevention πŸ““ npm i @google-cloud/dlp enable βœ–
Data QnA πŸ““ npm i @google-cloud/data-qna enable βœ–
Dataproc πŸ““ npm i @google-cloud/dataproc enable βœ–
Dataproc Metastore πŸ““ npm i @google-cloud/dataproc-metastore enable βœ–
Datastore πŸ““ npm i @google-cloud/datastore enable βœ”
Datastore Session πŸ““ npm i @google-cloud/connect-datastore enable βœ”
Dialogflow API πŸ““ npm i @google-cloud/dialogflow enable βœ–
Dialogflow CX API πŸ““ npm i @google-cloud/dialogflow-cx enable βœ–
DNS πŸ““ npm i @google-cloud/dns enable βœ–
Document AI πŸ““ npm i @google-cloud/documentai enable βœ–
Domains πŸ““ npm i @google-cloud/domains enable βœ–
Error Reporting πŸ““ npm i @google-cloud/error-reporting enable βœ”
Firestore πŸ““ npm i @google-cloud/firestore enable βœ”
Firestore Session πŸ““ npm i @google-cloud/connect-firestore enable βœ”
Functions πŸ““ npm i @google-cloud/functions enable βœ”
Game Servers πŸ““ npm i @google-cloud/game-servers enable βœ–
GKE Hub πŸ““ npm i @google-cloud/gke-hub enable βœ–
Google Analytics Admin πŸ““ npm i @google-analytics/admin enable βœ”
Google Analytics Data πŸ““ npm i @google-analytics/data enable βœ”
Google BigQuery πŸ““ npm i @google-cloud/bigquery enable βœ”
Google BigQuery Connection πŸ““ npm i @google-cloud/bigquery-connection enable βœ–
Google BigQuery Data Transfer Service πŸ““ npm i @google-cloud/bigquery-data-transfer enable βœ–
Google BigQuery Reservation πŸ““ npm i @google-cloud/bigquery-reservation enable βœ–
Google BigQuery Storage πŸ““ npm i @google-cloud/bigquery-storage enable βœ–
Google Compute Engine πŸ““ npm i @google-cloud/compute enable βœ–
Google Container Analysis πŸ““ npm i @google-cloud/containeranalysis enable βœ–
Grafeas πŸ““ npm i @google-cloud/grafeas enable βœ”
IAM Policy Troubleshooter API πŸ““ npm i @google-cloud/policy-troubleshooter enable βœ–
IAM Service Account Credentials API πŸ““ npm i @google-cloud/iam-credentials enable βœ–
Internet of Things (IoT) Core πŸ““ npm i @google-cloud/iot enable βœ–
Key Management Service πŸ““ npm i @google-cloud/kms enable βœ–
Kubernetes Engine Cluster Manager API πŸ““ npm i @google-cloud/container enable βœ–
Logging πŸ““ npm i @google-cloud/logging enable βœ”
Logging for Bunyan πŸ““ npm i @google-cloud/logging-bunyan enable βœ”
Logging for Winston πŸ““ npm i @google-cloud/logging-winston enable βœ”
Managed Service for Microsoft Active Directory πŸ““ npm i @google-cloud/managed-identities enable βœ–
Media Translation πŸ““ npm i @google-cloud/media-translation enable βœ–
Memorystore for Memcached πŸ““ npm i @google-cloud/memcache enable βœ–
Monitoring Dashboards πŸ““ npm i @google-cloud/monitoring-dashboards enable βœ–
Natural Language πŸ““ npm i @google-cloud/language enable βœ–
Network Connectivity Center πŸ““ npm i @google-cloud/network-connectivity enable βœ–
Organization Policy πŸ““ npm i @google-cloud/org-policy enable βœ–
OS Config API πŸ““ npm i @google-cloud/os-config enable βœ”
OS Login πŸ““ npm i @google-cloud/os-login enable βœ–
Phishing Protection πŸ““ npm i @google-cloud/phishing-protection enable βœ–
Profiler πŸ““ npm i @google-cloud/profiler enable βœ”
Pub/Sub πŸ““ npm i @google-cloud/pubsub enable βœ–
reCAPTCHA Enterprise πŸ““ npm i @google-cloud/recaptcha-enterprise enable βœ–
Recommender πŸ““ npm i @google-cloud/recommender enable βœ–
Redis πŸ““ npm i @google-cloud/redis enable βœ–
Resource Manager API πŸ““ npm i @google-cloud/resource enable βœ–
Retail API πŸ““ npm i @google-cloud/retail enable βœ–
Runtime Config πŸ““ npm i @google-cloud/rcloadenv enable βœ”
Scheduler πŸ““ npm i @google-cloud/scheduler enable βœ”
Secret Manager πŸ““ npm i @google-cloud/secret-manager enable βœ–
Security Command Center πŸ““ npm i @google-cloud/security-center enable βœ–
Service Control API πŸ““ npm i @google-cloud/service-control enable βœ–
Service Directory πŸ““ npm i @google-cloud/service-directory enable βœ–
Service Management API πŸ““ npm i @google-cloud/service-management enable βœ–
Spanner πŸ““ npm i @google-cloud/spanner enable βœ–
Speech πŸ““ npm i @google-cloud/speech enable βœ”
Stackdriver Debugger πŸ““ npm i @google-cloud/debug-agent enable βœ”
Stackdriver Monitoring πŸ““ npm i @google-cloud/monitoring enable βœ–
Stackdriver Trace πŸ““ npm i @google-cloud/trace-agent enable βœ”
Storage πŸ““ npm i @google-cloud/storage enable βœ–
Talent Solution πŸ““ npm i @google-cloud/talent enable βœ–
Tasks πŸ““ npm i @google-cloud/tasks enable βœ–
Text-to-Speech πŸ““ npm i @google-cloud/text-to-speech enable βœ–
Transcoder API πŸ““ npm i @google-cloud/video-transcoder enable βœ–
Translation πŸ““ npm i @google-cloud/translate enable βœ–
Video Intelligence πŸ““ npm i @google-cloud/video-intelligence enable βœ–
Vision API πŸ““ npm i @google-cloud/vision enable βœ–
Web Risk API πŸ““ npm i @google-cloud/web-risk enable βœ–
Web Security Scanner πŸ““ npm i @google-cloud/web-security-scanner enable βœ–
Workflows πŸ““ npm i @google-cloud/workflows enable βœ–

If the service is not listed above, google-api-nodejs-client interfaces with additional Google Cloud APIs using a legacy REST interface.

When building Node.js applications, preference should be given to the libraries listed in the table.

Enabling APIs

Before you can interact with a given Google Cloud Service, you must enable its API.

Links are available for enabling APIs in the table at the beginning of this document, and in each libraries README.md.

Authentication

Download your Service Account Credentials JSON file

To use Application Default Credentials, You first need to download a set of JSON credentials for your project. Go to APIs & Auth > Credentials in the Google Developers Console and select Service account from the Add credentials dropdown.

This file is your only copy of these credentials. It should never be committed with your source code, and should be stored securely.

Once downloaded, store the path to this file in the GOOGLE_APPLICATION_CREDENTIALS environment variable.

Other Authentication Methods

Other authentication methods are outlined in the README for google-auth-library-nodejs, which is the authentication library used by all Google Cloud Node.js clients.

Example Applications

  • nodejs-getting-started - A sample 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 App Engine or Google Compute Engine.
  • gcloud-node-todos - A TodoMVC backend using google-cloud-node and Datastore.
  • gitnpm - Easily lookup an npm package's GitHub repo using google-cloud-node and Google App Engine.
  • gcloud-kvstore - Use Datastore as a simple key-value store.
  • hya-wave - Cloud-based web sample editor. Part of the hya-io family of products.
  • gstore-node - Google Datastore Entities Modeling library.
  • gstore-api - REST API builder for Google Datastore Entities.

Supported Node.js Versions

Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js.

Client libraries targetting some end-of-life versions of Node.js are available, and can be installed via npm dist-tags. The dist-tags follow the naming convention legacy-(version).

Legacy Node.js versions are supported as a best effort:

  • Legacy versions will not be tested in continuous integration.
  • Some security patches may not be able to be backported.
  • Dependencies will not be kept up-to-date, and features will not be backported.

Legacy tags available

  • legacy-8: install client libraries from this dist-tag for versions compatible with Node.js 8.

Versioning

Our libraries follow Semantic Versioning.

Please note it is currently under active development. Any release versioned 0.x.y is subject to backwards-incompatible changes at any time.

GA: Libraries defined at the GA (general availability) quality level are stable. The code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GA libraries are addressed with the highest priority.

Please note that the auto-generated portions of the GA libraries (the ones in modules such as v1 or v2) are considered to be of Beta quality, even if the libraries that wrap them are GA.

Beta: Libraries defined at the Beta quality level are expected to be mostly stable, while we work towards their release candidate. We will address issues and requests with a higher priority.

Alpha: Libraries defined at the Alpha quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.

Contributing

Contributions to this library are always welcome and highly encouraged.

See CONTRIBUTING for more information on how to get started.

License

Apache 2.0 - See LICENSE for more information.

About

Google Cloud Client Library for Node.js

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 88.0%
  • Python 12.0%