Google Cloud Storage: Node.js Client
Node.js idiomatic client for Cloud Storage .
Cloud Storage allows world-wide storage and retrieval of any amount of data at any time. You can use Google Cloud Storage for a range of scenarios including serving website content, storing data for archival and disaster recovery, or distributing large data objects to users via direct download.
A comprehensive list of changes in each version may be found in the CHANGELOG .
- Google Cloud Storage Node.js Client API Reference
- Google Cloud Storage Documentation
- github.com/googleapis/nodejs-storage
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained .
Table of contents:
Quickstart
Before you begin
- Select or create a Cloud Platform project .
- Enable billing for your project .
- Enable the Google Cloud Storage API .
- Set up authentication so you can access the API from your local workstation.
Installing the client library
npm install @google-cloud/storage
Using the client library
// Imports the Google Cloud client library
const {Storage} = require(' @google-cloud/storage
');
// For more information on ways to initialize Storage, please see
// https://googleapis.dev/nodejs/storage/latest/Storage.html
// Creates a client using Application Default Credentials
const storage = new Storage();
// Creates a client from a Google service account key
// const storage = new Storage({keyFilename: 'key.json'});
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';
async function createBucket() {
// Creates the new bucket
await storage. createBucket
(bucketName);
console.log(`Bucket ${bucketName} created.`);
}
createBucket().catch(console.error);
Samples
Samples are in the samples/
directory. Each sample's README.md
has instructions for running its sample.
| Sample | Source Code | Try it |
|---|---|---|
|
Add Bucket Conditional Binding
|
source code |
|
|
Add Bucket Default Owner Acl
|
source code |
|
|
Add Bucket Iam Member
|
source code |
|
|
Storage Add Bucket Label.
|
source code |
|
|
Add Bucket Owner Acl
|
source code |
|
|
Bucket Website Configuration.
|
source code |
|
|
Add File Owner Acl
|
source code |
|
|
Storage Get Bucket Metadata.
|
source code |
|
|
Change Bucket's Default Storage Class.
|
source code |
|
|
Storage File Convert CSEK to CMEK.
|
source code |
|
|
Storage Combine files.
|
source code |
|
|
Storage Configure Bucket Cors.
|
source code |
|
|
Configure Retries
|
source code |
|
|
Copy File
|
source code |
|
|
Copy Old Version Of File.
|
source code |
|
|
Create a Dual-Region Bucket
|
source code |
|
|
Create a hierarchical namespace enabled bucket
|
source code |
|
|
Create a Bucket with object retention enabled.
|
source code |
|
|
Create Bucket With Storage Class and Location.
|
source code |
|
|
Create Bucket With Turbo Replication
|
source code |
|
|
Create New Bucket
|
source code |
|
|
Create Notification
|
source code |
|
|
Delete Bucket
|
source code |
|
|
Delete File
|
source code |
|
|
Delete Notification
|
source code |
|
|
Delete Old Version Of File.
|
source code |
|
|
Disable Bucket Lifecycle Management
|
source code |
|
|
Storage Disable Bucket Versioning.
|
source code |
|
|
Disable Default Event Based Hold
|
source code |
|
|
Disable Requester Pays
|
source code |
|
|
Disable Uniform Bucket Level Access
|
source code |
|
|
Download Byte Range
|
source code |
|
|
Download Encrypted File
|
source code |
|
|
Download File
|
source code |
|
|
Download a File in Chunks With Transfer Manager
|
source code |
|
|
Download File Using Requester Pays
|
source code |
|
|
Download Folder With Transfer Manager
|
source code |
|
|
Download Into Memory
|
source code |
|
|
Download Many Files With Transfer Manager
|
source code |
|
|
Storage Download Public File.
|
source code |
|
|
Enable Bucket Lifecycle Management
|
source code |
|
|
Storage Enable Bucket Versioning.
|
source code |
|
|
Enable Default Event Based Hold
|
source code |
|
|
Enable Default KMS Key
|
source code |
|
|
Enable Requester Pays
|
source code |
|
|
Enable Uniform Bucket Level Access
|
source code |
|
|
Change File's Storage Class.
|
source code |
|
|
Storage Set File Metadata.
|
source code |
|
|
Generate Encryption Key
|
source code |
|
|
Generate Signed Url
|
source code |
|
|
Generate V4 Read Signed Url
|
source code |
|
|
Generate V4 Signed Policy
|
source code |
|
|
Generate V4 Upload Signed Url
|
source code |
|
|
Get Autoclass
|
source code |
|
|
Get Default Event Based Hold
|
source code |
|
|
Get Metadata
|
source code |
|
|
Get Metadata Notifications
|
source code |
|
|
Get Public Access Prevention
|
source code |
|
|
Get RPO
|
source code |
|
|
Get Requester Pays Status
|
source code |
|
|
Get Retention Policy
|
source code |
|
|
Storage Get Service Account.
|
source code |
|
|
Get Soft Deleted Bucket
|
source code |
|
|
Get Uniform Bucket Level Access
|
source code |
|
|
Activate HMAC SA Key.
|
source code |
|
|
Create HMAC SA Key.
|
source code |
|
|
Deactivate HMAC SA Key.
|
source code |
|
|
Delete HMAC SA Key.
|
source code |
|
|
Get HMAC SA Key Metadata.
|
source code |
|
|
List HMAC SA Keys Metadata.
|
source code |
|
|
List Buckets
|
source code |
|
|
List Files
|
source code |
|
|
List Files By Prefix
|
source code |
|
|
List Files Paginate
|
source code |
|
|
List Files with Old Versions.
|
source code |
|
|
List Notifications
|
source code |
|
|
List Soft Deleted Bucket
|
source code |
|
|
Lock Retention Policy
|
source code |
|
|
Storage Make Bucket Public.
|
source code |
|
|
Make Public
|
source code |
|
|
Move File
|
source code |
|
|
Move File Atomic
|
source code |
|
|
Print Bucket Acl
|
source code |
|
|
Print Bucket Acl For User
|
source code |
|
|
Print File Acl
|
source code |
|
|
Print File Acl For User
|
source code |
|
|
Quickstart
|
source code |
|
|
Release Event Based Hold
|
source code |
|
|
Release Temporary Hold
|
source code |
|
|
Remove Bucket Conditional Binding
|
source code |
|
|
Storage Remove Bucket Cors Configuration.
|
source code |
|
|
Remove Bucket Default Owner
|
source code |
|
|
Remove Bucket Iam Member
|
source code |
|
|
Storage Remove Bucket Label.
|
source code |
|
|
Remove Bucket Owner Acl
|
source code |
|
|
Remove Default KMS Key.
|
source code |
|
|
Remove File Owner Acl
|
source code |
|
|
Remove Retention Policy
|
source code |
|
|
Rename File
|
source code |
|
|
Restore Soft Deleted Bucket
|
source code |
|
|
Rotate Encryption Key
|
source code |
|
|
Set Autoclass
|
source code |
|
|
Set Client Endpoint
|
source code |
|
|
Set Event Based Hold
|
source code |
|
|
Set the object retention policy of a File.
|
source code |
|
|
Set Public Access Prevention Enforced
|
source code |
|
|
Set Public Access Prevention Inherited
|
source code |
|
|
Set RPO Async Turbo
|
source code |
|
|
Set RPO Default
|
source code |
|
|
Set Retention Policy
|
source code |
|
|
Set Temporary Hold
|
source code |
|
|
Stream File Download
|
source code |
|
|
Stream File Upload
|
source code |
|
|
Upload a directory to a bucket.
|
source code |
|
|
Upload Directory With Transfer Manager
|
source code |
|
|
Upload Encrypted File
|
source code |
|
|
Upload File
|
source code |
|
|
Upload a File in Chunks With Transfer Manager
|
source code |
|
|
Upload File With Kms Key
|
source code |
|
|
Upload From Memory
|
source code |
|
|
Upload Many Files With Transfer Manager
|
source code |
|
|
Upload Without Authentication
|
source code |
|
|
Upload Without Authentication Signed Url
|
source code |
|
|
View Bucket Iam Members
|
source code |
|
The Google Cloud Storage Node.js Client API Reference documentation also contains samples.
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, npm install @google-cloud/storage@legacy-8
installs client libraries
for versions compatible with Node.js 8.
Versioning
This library follows Semantic Versioning .
This library is considered to be 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 stablelibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
Please note that this README.md
, the samples/README.md
,
and a variety of configuration files in this repository (including .nycrc
and tsconfig.json
)
are generated from a central template. To edit one of these files, make an edit
to its templates in directory
.
License
Apache Version 2.0
See LICENSE


