googleapis / google-cloud-node

Google Cloud Client Library for Node.js
https://cloud.google.com/nodejs
Apache License 2.0
2.93k stars 598 forks source link
google-cloud nodejs

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 Release Level Version
Access Approval Stable npm
Access Context Manager Stable npm
Advisory Notifications API Stable npm
AI Platform Notebooks Stable npm
AlloyDB API Stable npm
Analytics Hub API Stable npm
Anthos Multi-Cloud API Stable npm
API Gateway Stable npm
API Keys API Stable npm
Apigee Connect API Stable npm
App Engine Admin API Stable npm
Artifact Registry Stable npm
Asset Inventory Stable npm
Assured Workloads for Government Stable npm
AutoML Stable npm
Backup and DR Service API Stable npm
Backup for GKE API Stable npm
Bare Metal Solution API Stable npm
BeyondCorp API Stable npm
BeyondCorp API Stable npm
BigQuery Migration API Stable npm
Bigtable Stable npm
Billing Stable npm
Billing Budgets Stable npm
Binary Authorization Stable npm
Build Stable npm
Certificate Authority Service Stable npm
Certificate Manager Stable npm
Channel API Stable npm
Commerce Consumer Procurement API Stable npm
Composer Stable npm
Confidential Computing API Stable npm
Connectors API Stable npm
Contact Center AI Insights API Stable npm
Controls Partner API Stable npm
Data Catalog Stable npm
Data Fusion Stable npm
Data Lineage API Stable npm
Data Loss Prevention Stable npm
Database Migration Service Stable npm
Dataplex Stable npm
Dataproc Stable npm
Dataproc Metastore Stable npm
Datastore Stable npm
Datastream Stable npm
Deploy Stable npm
Dialogflow API Stable npm
Dialogflow CX API Stable npm
Discovery Engine API Stable npm
Distributed Cloud Edge Container API Stable npm
Distributed Cloud Edge Network API Stable npm
DNS Stable npm
Document AI Stable npm
Document AI Warehouse Stable npm
Domains Stable npm
Error Reporting Stable npm
Essential Contacts API Stable npm
Eventarc Stable npm
Eventarc Publishing API Stable npm
Filestore Stable npm
Firestore Stable npm
Functions Stable npm
GKE Hub Stable npm
Google BigQuery Stable npm
Google BigQuery Connection Stable npm
Google BigQuery Data Transfer Service Stable npm
Google BigQuery Reservation Stable npm
Google BigQuery Storage Stable npm
Google Compute Engine Stable npm
Google Container Analysis Stable npm
Google Workspace Add-ons API Stable npm
Grafeas Stable npm
IAM Policy Troubleshooter API Stable npm
IAM Service Account Credentials API Stable npm
Identity and Access Management Stable npm
Identity-Aware Proxy Stable npm
IDS Stable npm
Infrastructure Manager API Stable npm
Internet of Things (IoT) Core Stable npm
Key Management Service Stable npm
Kubernetes Engine Cluster Manager API Stable npm
Live Stream API Stable npm
Logging Stable npm
Logging for Bunyan Stable npm
Logging for Winston Stable npm
Managed Service for Microsoft Active Directory Stable npm
Media Translation Stable npm
Memorystore for Memcached Stable npm
Migrate for Compute Engine Stable npm
Migration Center API Stable npm
Monitoring Dashboards Stable npm
Natural Language Stable npm
NetApp API Stable npm
Network Connectivity Center Stable npm
Network Management API Stable npm
Network Security API Stable npm
Network Services API Stable npm
Optimization AI Stable npm
Organization Policy Stable npm
OS Config API Stable npm
OS Login Stable npm
Policy Simulator API Stable npm
Profiler Stable npm
Pub/Sub Stable npm
Public Certificate Authority Stable npm
Quotas API Stable npm
Rapid Migration Assessment API Stable npm
reCAPTCHA Enterprise Stable npm
Recommender Stable npm
Redis Stable npm
Resource Manager API Stable npm
Retail API Stable npm
Run Stable npm
Scheduler Stable npm
Secret Manager Stable npm
Secure Source Manager API Stable npm
Security Center Management API Stable npm
Security Command Center Stable npm
Service Control API Stable npm
Service Directory Stable npm
Service Health API Stable npm
Service Management API Stable npm
Service Usage Stable npm
Shell Stable npm
Spanner Stable npm
Speech Stable npm
SQL Admin API Stable npm
Stackdriver Monitoring Stable npm
Storage Stable npm
Storage API Stable npm
Storage Insights API Stable npm
Storage Transfer Service Stable npm
Support API Stable npm
Talent Solution Stable npm
Tasks Stable npm
Telco Automation API Stable npm
Text-to-Speech Stable npm
TPU Stable npm
Transcoder API Stable npm
Translation Stable npm
Vertex AI Stable npm
Video Intelligence Stable npm
Video Stitcher API Stable npm
Virtual Private Cloud Stable npm
Vision API Stable npm
VMware Engine API Stable npm
Web Risk API Stable npm
Web Security Scanner Stable npm
Workflow Executions Stable npm
Workstations API Stable npm
Preview npm
Managed Service for Apache Kafka API Preview npm
API hub API Preview npm
Apigee Registry API Preview npm
App Hub API Preview npm
Area120 Tables API Preview npm
Batch Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
BeyondCorp API Preview npm
CSS API Preview npm
Data Labeling Preview npm
Data QnA Preview npm
Dataflow Preview npm
Dataform API Preview npm
Developer Connect API Preview npm
GDC Hardware Management API Preview npm
Generative Language API Preview npm
GKE Connect Gateway Preview npm
Google Analytics Admin Preview npm
Google Analytics Data Preview npm
Google Chat API Preview npm
Google Maps Routing Preview npm
Google Marketing Platform Admin API Preview npm
Google Meet API Preview npm
Last Mile Fleet Solution Delivery API Preview npm
Life Sciences Preview npm
Local Rides and Deliveries API Preview npm
Memorystore for Redis API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Merchant API Preview npm
Oracle Database@Google Cloud API Preview npm
Parallelstore API Preview npm
Phishing Protection Preview npm
Places API (New) Preview npm
Policy Troubleshooter API Preview npm
Private Catalog Preview npm
Privileged Access Manager API Preview npm
Profiler API Preview npm
Route Optimization API Preview npm
Solar API Preview npm
Trace Preview npm
Vertex AI Preview npm

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

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:

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.