Skip to content

Repository files navigation

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:

RepoRelease LevelVersion
Access ApprovalStablenpm
Access Context ManagerStablenpm
AI Platform NotebooksStablenpm
API GatewayStablenpm
Apigee Connect APIStablenpm
App Engine Admin APIStablenpm
Artifact RegistryStablenpm
Asset InventoryStablenpm
Assured Workloads for GovernmentStablenpm
AutoMLStablenpm
Backup for GKE APIStablenpm
BigtableStablenpm
BillingStablenpm
Billing BudgetsStablenpm
Binary AuthorizationStablenpm
BuildStablenpm
Certificate Authority ServiceStablenpm
Certificate ManagerStablenpm
Channel APIStablenpm
ComposerStablenpm
Contact Center AI Insights APIStablenpm
Data CatalogStablenpm
Data FusionStablenpm
Data Loss PreventionStablenpm
Database Migration ServiceStablenpm
DataplexStablenpm
DataprocStablenpm
Dataproc MetastoreStablenpm
DatastoreStablenpm
Datastore SessionStablenpm
DatastreamStablenpm
DeployStablenpm
Dialogflow APIStablenpm
Dialogflow CX APIStablenpm
DNSStablenpm
Document AIStablenpm
DomainsStablenpm
Error ReportingStablenpm
Essential Contacts APIStablenpm
EventarcStablenpm
Eventarc Publishing APIStablenpm
FilestoreStablenpm
FirestoreStablenpm
Firestore SessionStablenpm
FunctionsStablenpm
Game ServersStablenpm
GKE HubStablenpm
Google BigQueryStablenpm
Google BigQuery ConnectionStablenpm
Google BigQuery Data Transfer ServiceStablenpm
Google BigQuery ReservationStablenpm
Google BigQuery StorageStablenpm
Google Compute EngineStablenpm
Google Container AnalysisStablenpm
GrafeasStablenpm
IAM Policy Troubleshooter APIStablenpm
IAM Service Account Credentials APIStablenpm
Identity-Aware ProxyStablenpm
IDSStablenpm
Internet of Things (IoT) CoreStablenpm
Key Management ServiceStablenpm
Kubernetes Engine Cluster Manager APIStablenpm
Live Stream APIStablenpm
LoggingStablenpm
Logging for BunyanStablenpm
Logging for WinstonStablenpm
Managed Service for Microsoft Active DirectoryStablenpm
Media TranslationStablenpm
Memorystore for MemcachedStablenpm
Migrate for Compute EngineStablenpm
Monitoring DashboardsStablenpm
Natural LanguageStablenpm
Network Connectivity CenterStablenpm
Network Management APIStablenpm
Optimization AIStablenpm
Organization PolicyStablenpm
OS Config APIStablenpm
OS LoginStablenpm
ProfilerStablenpm
Pub/SubStablenpm
reCAPTCHA EnterpriseStablenpm
RecommenderStablenpm
RedisStablenpm
Resource Manager APIStablenpm
Resource Settings APIStablenpm
Retail APIStablenpm
SchedulerStablenpm
Secret ManagerStablenpm
Security Command CenterStablenpm
Service Control APIStablenpm
Service DirectoryStablenpm
Service Management APIStablenpm
Service UsageStablenpm
ShellStablenpm
SpannerStablenpm
SpeechStablenpm
Stackdriver DebuggerStablenpm
Stackdriver MonitoringStablenpm
StorageStablenpm
Storage Transfer ServiceStablenpm
Talent SolutionStablenpm
TasksStablenpm
Text-to-SpeechStablenpm
TPUStablenpm
Transcoder APIStablenpm
TranslationStablenpm
Vertex AIStablenpm
Video IntelligenceStablenpm
Virtual Private CloudStablenpm
Vision APIStablenpm
Web Risk APIStablenpm
Web Security ScannerStablenpm
WorkflowsStablenpm
Analytics Hub APIPreviewnpm
Apigee Registry APIPreviewnpm
Area120 Tables APIPreviewnpm
Bare Metal Solution APIPreviewnpm
BeyondCorp APIPreviewnpm
BeyondCorp APIPreviewnpm
BeyondCorp APIPreviewnpm
BeyondCorp APIPreviewnpm
BeyondCorp APIPreviewnpm
BigQuery Migration APIPreviewnpm
Data LabelingPreviewnpm
Data QnAPreviewnpm
DataflowPreviewnpm
Dataform APIPreviewnpm
GKE Connect GatewayPreviewnpm
Google Analytics AdminPreviewnpm
Google Analytics DataPreviewnpm
Life SciencesPreviewnpm
Network Security APIPreviewnpm
Phishing ProtectionPreviewnpm
Private CatalogPreviewnpm
RunPreviewnpm
TracePreviewnpm
Video Stitcher APIPreviewnpm

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. If you are using an end-of-life version of Node.js, we recommend that you update as soon as possible to an actively supported LTS version.

Google's client libraries support legacy versions of Node.js runtimes on a best-efforts basis with the following warnings:

  • Legacy versions are not tested in continuous integration.
  • Some security patches and features cannot be backported.
  • Dependencies cannot be kept up-to-date.

Client libraries targeting some end-of-life versions of Node.js are available, and can be installed through npm dist-tags. The dist-tags follow the naming convention legacy-(version). For example, {{ metadata['lib_install_cmd'] }}@legacy-10 installs client libraries for versions compatible with Node.js 10.

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.

Stable: Libraries defined at the Stable 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 Stable libraries are addressed with the highest priority.

Preview: Libraries defined at the preview 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

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages