Google Cloud Storage: Node.js Samples
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.
Table of Contents
- Before you begin
- Samples
- Add Bucket Conditional Binding
- Add Bucket Default Owner Acl
- Add Bucket Iam Member
- Storage Add Bucket Label.
- Add Bucket Owner Acl
- Bucket Website Configuration.
- Add File Owner Acl
- Storage Get Bucket Metadata.
- Change Bucket's Default Storage Class.
- Storage File Convert CSEK to CMEK.
- Storage Combine files.
- Storage Configure Bucket Cors.
- Configure Retries
- Copy File
- Copy Old Version Of File.
- Create a Dual-Region Bucket
- Create a hierarchical namespace enabled bucket
- Create a Bucket with object retention enabled.
- Create Bucket With Storage Class and Location.
- Create Bucket With Turbo Replication
- Create New Bucket
- Create Notification
- Delete Bucket
- Delete File
- Delete Notification
- Delete Old Version Of File.
- Disable Bucket Lifecycle Management
- Storage Disable Bucket Versioning.
- Disable Default Event Based Hold
- Disable Requester Pays
- Disable Soft Delete
- Disable Uniform Bucket Level Access
- Download Byte Range
- Download Encrypted File
- Download File
- Download a File in Chunks With Transfer Manager
- Download File Using Requester Pays
- Download Folder With Transfer Manager
- Download Into Memory
- Download Many Files With Transfer Manager
- Storage Download Public File.
- Enable Bucket Lifecycle Management
- Storage Enable Bucket Versioning.
- Enable Default Event Based Hold
- Enable Default KMS Key
- Enable Requester Pays
- Enable Uniform Bucket Level Access
- Change File's Storage Class.
- Storage Set File Metadata.
- Generate Encryption Key
- Generate Signed Url
- Generate V4 Read Signed Url
- Generate V4 Signed Policy
- Generate V4 Upload Signed Url
- Get Autoclass
- Get Default Event Based Hold
- Get Metadata
- Get Metadata Notifications
- Get Public Access Prevention
- Get RPO
- Get Requester Pays Status
- Get Retention Policy
- Storage Get Service Account.
- Get Soft Delete Policy
- Get Soft Deleted Bucket
- Get Uniform Bucket Level Access
- Activate HMAC SA Key.
- Create HMAC SA Key.
- Deactivate HMAC SA Key.
- Delete HMAC SA Key.
- Get HMAC SA Key Metadata.
- List HMAC SA Keys Metadata.
- List Buckets
- List Buckets Partial Success
- List Files
- List Files By Prefix
- List Files Paginate
- List Files with Old Versions.
- List Notifications
- List Soft Deleted Bucket
- List Soft Deleted Object Versions
- List Soft Deleted Objects
- Lock Retention Policy
- Storage Make Bucket Public.
- Make Public
- Move File
- Move File Atomic
- Print Bucket Acl
- Print Bucket Acl For User
- Print File Acl
- Print File Acl For User
- Quickstart
- Release Event Based Hold
- Release Temporary Hold
- Remove Bucket Conditional Binding
- Storage Remove Bucket Cors Configuration.
- Remove Bucket Default Owner
- Remove Bucket Iam Member
- Storage Remove Bucket Label.
- Remove Bucket Owner Acl
- Remove Default KMS Key.
- Remove File Owner Acl
- Remove Retention Policy
- Rename File
- Restore Soft Deleted Bucket
- Restore Soft Deleted Object
- Rotate Encryption Key
- Set Autoclass
- Set Client Endpoint
- Set Event Based Hold
- Set the object retention policy of a File.
- Set Public Access Prevention Enforced
- Set Public Access Prevention Inherited
- Set RPO Async Turbo
- Set RPO Default
- Set Retention Policy
- Set Soft Delete Policy
- Set Temporary Hold
- Stream File Download
- Stream File Upload
- Upload a directory to a bucket.
- Upload Directory With Transfer Manager
- Upload Encrypted File
- Upload File
- Upload a File in Chunks With Transfer Manager
- Upload File With Kms Key
- Upload From Memory
- Upload Many Files With Transfer Manager
- Upload Without Authentication
- Upload Without Authentication Signed Url
- View Bucket Iam Members
Before you begin
Before running the samples, make sure you've followed the steps outlined in Using the client library.
cd samples
npm install
cd ..
Add Bucket Conditional Binding
View the source code.
Usage:
node samples/addBucketConditionalBinding.js
Add Bucket Default Owner Acl
View the source code.
Usage:
node samples/addBucketDefaultOwnerAcl.js
Add Bucket Iam Member
View the source code.
Usage:
node samples/addBucketIamMember.js
Storage Add Bucket Label.
Adds bucket label.
View the source code.
Usage:
node addBucketLabel.js <BUCKET_NAME> <LABEL_KEY> <LABEL_VALUE>
Add Bucket Owner Acl
View the source code.
Usage:
node samples/addBucketOwnerAcl.js
Bucket Website Configuration.
Bucket Website Configuration.
View the source code.
Usage:
node addBucketWebsiteConfiguration.js <BUCKET_NAME> <MAIN_PAGE_SUFFIX> <NOT_FOUND_PAGE>
Add File Owner Acl
View the source code.
Usage:
node samples/addFileOwnerAcl.js
Storage Get Bucket Metadata.
Get bucket metadata.
View the source code.
Usage:
node bucketMetadata.js <BUCKET_NAME>
Change Bucket's Default Storage Class.
Change Bucket's Default Storage Class.
View the source code.
Usage:
node changeDefaultStorageClass.js <BUCKET_NAME> <CLASS_NAME>
Storage File Convert CSEK to CMEK.
Storage File Convert CSEK to CMEK.
View the source code.
Usage:
node changeFileCSEKToCMEK.js <BUCKET_NAME> <FILE_NAME> <ENCRYPTION_KEY> <KMS_KEY_NAME>
Storage Combine files.
Combine multiple files into one new file.
View the source code.
Usage:
node composeFile.js <BUCKET_NAME> <FIRST_FILE_NAME> <SECOND_FILE_NAME> <DESTINATION_FILE_NAME>
Storage Configure Bucket Cors.
Configures bucket cors.
View the source code.
Usage:
node configureBucketCors.js <BUCKET_NAME> <MAX_AGE_SECONDS> <METHOD> <ORIGIN> <RESPONSE_HEADER>
Configure Retries
View the source code.
Usage:
node samples/configureRetries.js
Copy File
View the source code.
Usage:
node samples/copyFile.js
Copy Old Version Of File.
Copy Old Version Of File.
View the source code.
Usage:
node copyOldVersionOfFile.js <SRC_BUCKET_NAME> <SRC_FILE_NAME> <DEST_BUCKET_NAME> <DEST_FILE_NAME> <GENERATION>
Create a Dual-Region Bucket
Create a Dual-Region Bucket with provided location and regions.
View the source code.
Usage:
node createBucketWithDualRegion.js <BUCKET_NAME> <LOCATION> <REGION1> <REGION2>
Create a hierarchical namespace enabled bucket
Create a hierarchical namespace enabled bucket.
View the source code.
Usage:
node createBucketWithHierarchicalNamespace.js <BUCKET_NAME>
Create a Bucket with object retention enabled.
Create a Bucket with object retention enabled.
View the source code.
Usage:
node createBucketWithObjectRetention.js <BUCKET_NAME>
Create Bucket With Storage Class and Location.
Create Bucket With Storage Class and Location.
View the source code.
Usage:
node createBucketWithStorageClassAndLocation.js <BUCKET_NAME> <CLASS_NAME> <LOCATION>
Create Bucket With Turbo Replication
View the source code.
Usage:
node samples/createBucketWithTurboReplication.js
Create New Bucket
View the source code.
Usage:
node samples/createNewBucket.js
Create Notification
View the source code.
Usage:
node samples/createNotification.js
Delete Bucket
View the source code.
Usage:
node samples/deleteBucket.js
Delete File
View the source code.
Usage:
node samples/deleteFile.js
Delete Notification
View the source code.
Usage:
node samples/deleteNotification.js
Delete Old Version Of File.
Delete Old Version Of File.
View the source code.
Usage:
node deleteOldVersionOfFile.js <BUCKET_NAME> <FILE_NAME> <GENERATION>
Disable Bucket Lifecycle Management
View the source code.
Usage:
node samples/disableBucketLifecycleManagement.js
Storage Disable Bucket Versioning.
Disables bucket versioning.
View the source code.
Usage:
node disableBucketVersioning.js <BUCKET_NAME>
Disable Default Event Based Hold
View the source code.
Usage:
node samples/disableDefaultEventBasedHold.js
Disable Requester Pays
View the source code.
Usage:
node samples/disableRequesterPays.js
Disable Soft Delete
View the source code.
Usage:
node samples/disableSoftDelete.js
Disable Uniform Bucket Level Access
View the source code.
Usage:
node samples/disableUniformBucketLevelAccess.js
Download Byte Range
View the source code.
Usage:
node samples/downloadByteRange.js
Download Encrypted File
View the source code.
Usage:
node samples/downloadEncryptedFile.js
Download File
View the source code.
Usage:
node samples/downloadFile.js
Download a File in Chunks With Transfer Manager
Downloads a single file in in chunks in parallel utilizing transfer manager.
View the source code.
Usage:
node downloadFileInChunksWithTransferManager.js <BUCKET_NAME> <FILE_NAME> <DESTINATION_FILE_NAME> <CHUNK_SIZE>
Download File Using Requester Pays
View the source code.
Usage:
node samples/downloadFileUsingRequesterPays.js
Download Folder With Transfer Manager
Downloads a folder in parallel utilizing transfer manager.
View the source code.
Usage:
node downloadFolderWithTransferManager.js <BUCKET_NAME> <FOLDER_NAME>
Download Into Memory
View the source code.
Usage:
node samples/downloadIntoMemory.js
Download Many Files With Transfer Manager
Downloads many files in parallel utilizing transfer manager.
View the source code.
Usage:
node downloadManyFilesWithTransferManager.js <BUCKET_NAME> <FIRST_FILE_NAME> <SECOND_FILE_NAME>
Storage Download Public File.
Download Public File.
View the source code.
Usage:
node downloadPublicFile.js <BUCKET_NAME> <SRC_FILE_NAME> <DEST_FILE_NAME>
Enable Bucket Lifecycle Management
View the source code.
Usage:
node samples/enableBucketLifecycleManagement.js
Storage Enable Bucket Versioning.
Enables bucket versioning.
View the source code.
Usage:
node enableBucketVersioning.js <BUCKET_NAME>
Enable Default Event Based Hold
View the source code.
Usage:
node samples/enableDefaultEventBasedHold.js
Enable Default KMS Key
View the source code.
Usage:
node samples/enableDefaultKMSKey.js
Enable Requester Pays
View the source code.
Usage:
node samples/enableRequesterPays.js
Enable Uniform Bucket Level Access
View the source code.
Usage:
node samples/enableUniformBucketLevelAccess.js
Change File's Storage Class.
Change File's Storage Class.
View the source code.
Usage:
node fileChangeStorageClass.js <BUCKET_NAME> <FILE_NAME> <CLASS_NAME>
Storage Set File Metadata.
Set file metadata.
View the source code.
Usage:
node fileSetMetadata.js <BUCKET_NAME> <FILE_NAME>
Generate Encryption Key
View the source code.
Usage:
node samples/generateEncryptionKey.js
Generate Signed Url
View the source code.
Usage:
node samples/generateSignedUrl.js
Generate V4 Read Signed Url
View the source code.
Usage:
node samples/generateV4ReadSignedUrl.js
Generate V4 Signed Policy
View the source code.
Usage:
node samples/generateV4SignedPolicy.js
Generate V4 Upload Signed Url
View the source code.
Usage:
node samples/generateV4UploadSignedUrl.js
Get Autoclass
View the source code.
Usage:
node samples/getAutoclass.js
Get Default Event Based Hold
View the source code.
Usage:
node samples/getDefaultEventBasedHold.js
Get Metadata
View the source code.
Usage:
node samples/getMetadata.js
Get Metadata Notifications
View the source code.
Usage:
node samples/getMetadataNotifications.js
Get Public Access Prevention
View the source code.
Usage:
node samples/getPublicAccessPrevention.js
Get RPO
View the source code.
Usage:
node samples/getRPO.js
Get Requester Pays Status
View the source code.
Usage:
node samples/getRequesterPaysStatus.js
Get Retention Policy
View the source code.
Usage:
node samples/getRetentionPolicy.js
Storage Get Service Account.
Get Service Account.
View the source code.
Usage:
node getServiceAccount.js <PROJECT_ID>
Get Soft Delete Policy
View the source code.
Usage:
node samples/getSoftDeletePolicy.js
Get Soft Deleted Bucket
View the source code.
Usage:
node samples/getSoftDeletedBucket.js
Get Uniform Bucket Level Access
View the source code.
Usage:
node samples/getUniformBucketLevelAccess.js
Activate HMAC SA Key.
Activate HMAC SA Key.
View the source code.
Usage:
node hmacKeyActivate.js <hmacKeyAccessId> [projectId]
Create HMAC SA Key.
Create HMAC SA Key.
View the source code.
Usage:
node hmacKeyCreate.js <serviceAccountEmail> [projectId]
Deactivate HMAC SA Key.
Deactivate HMAC SA Key.
View the source code.
Usage:
node hmacKeyDeactivate.js <hmacKeyAccessId> [projectId]
Delete HMAC SA Key.
Delete HMAC SA Key.
View the source code.
Usage:
node hmacKeyDelete.js <hmacKeyAccessId> [projectId]
Get HMAC SA Key Metadata.
Get HMAC SA Key Metadata.
View the source code.
Usage:
node hmacKeyGet.js <hmacKeyAccessId> [projectId]
List HMAC SA Keys Metadata.
List HMAC SA Keys Metadata.
View the source code.
Usage:
node hmacKeyList.js [projectId]
List Buckets
View the source code.
Usage:
node samples/listBuckets.js
List Buckets Partial Success
View the source code.
Usage:
node samples/listBucketsPartialSuccess.js
List Files
View the source code.
Usage:
node samples/listFiles.js
List Files By Prefix
View the source code.
Usage:
node samples/listFilesByPrefix.js
List Files Paginate
View the source code.
Usage:
node samples/listFilesPaginate.js
List Files with Old Versions.
List Files with Old Versions.
View the source code.
Usage:
node listFilesWithOldVersions.js <BUCKET_NAME>
List Notifications
View the source code.
Usage:
node samples/listNotifications.js
List Soft Deleted Bucket
View the source code.
Usage:
node samples/listSoftDeletedBucket.js
List Soft Deleted Object Versions
View the source code.
Usage:
node samples/listSoftDeletedObjectVersions.js
List Soft Deleted Objects
View the source code.
Usage:
node samples/listSoftDeletedObjects.js
Lock Retention Policy
View the source code.
Usage:
node samples/lockRetentionPolicy.js
Storage Make Bucket Public.
Storage Make Bucket Public.
View the source code.
Usage:
node makeBucketPublic.js <BUCKET_NAME>
Make Public
View the source code.
Usage:
node samples/makePublic.js
Move File
View the source code.
Usage:
node samples/moveFile.js
Move File Atomic
View the source code.
Usage:
node samples/moveFileAtomic.js
Print Bucket Acl
View the source code.
Usage:
node samples/printBucketAcl.js
Print Bucket Acl For User
View the source code.
Usage:
node samples/printBucketAclForUser.js
Print File Acl
View the source code.
Usage:
node samples/printFileAcl.js
Print File Acl For User
View the source code.
Usage:
node samples/printFileAclForUser.js
Quickstart
View the source code.
Usage:
node samples/quickstart.js
Release Event Based Hold
View the source code.
Usage:
node samples/releaseEventBasedHold.js
Release Temporary Hold
View the source code.
Usage:
node samples/releaseTemporaryHold.js
Remove Bucket Conditional Binding
View the source code.
Usage:
node samples/removeBucketConditionalBinding.js
Storage Remove Bucket Cors Configuration.
Removes bucket cors configuration.
View the source code.
Usage:
node removeBucketCors.js <BUCKET_NAME>
Remove Bucket Default Owner
View the source code.
Usage:
node samples/removeBucketDefaultOwner.js
Remove Bucket Iam Member
View the source code.
Usage:
node samples/removeBucketIamMember.js
Storage Remove Bucket Label.
Removes bucket label.
View the source code.
Usage:
node removeBucketLabel.js <BUCKET_NAME> labelone)
Remove Bucket Owner Acl
View the source code.
Usage:
node samples/removeBucketOwnerAcl.js
Remove Default KMS Key.
Remove Default KMS Key.
View the source code.
Usage:
node removeDefaultKMSKey.js <BUCKET_NAME>
Remove File Owner Acl
View the source code.
Usage:
node samples/removeFileOwnerAcl.js
Remove Retention Policy
View the source code.
Usage:
node samples/removeRetentionPolicy.js
Rename File
View the source code.
Usage:
node samples/renameFile.js
Restore Soft Deleted Bucket
View the source code.
Usage:
node samples/restoreSoftDeletedBucket.js
Restore Soft Deleted Object
View the source code.
Usage:
node samples/restoreSoftDeletedObject.js
Rotate Encryption Key
View the source code.
Usage:
node samples/rotateEncryptionKey.js
Set Autoclass
View the source code.
Usage:
node samples/setAutoclass.js
Set Client Endpoint
View the source code.
Usage:
node samples/setClientEndpoint.js
Set Event Based Hold
View the source code.
Usage:
node samples/setEventBasedHold.js
Set the object retention policy of a File.
Set the object retention policy of a File.
View the source code.
Usage:
node setObjectRetentionPolicy.js <BUCKET_NAME>
Set Public Access Prevention Enforced
View the source code.
Usage:
node samples/setPublicAccessPreventionEnforced.js
Set Public Access Prevention Inherited
View the source code.
Usage:
node samples/setPublicAccessPreventionInherited.js
Set RPO Async Turbo
View the source code.
Usage:
node samples/setRPOAsyncTurbo.js
Set RPO Default
View the source code.
Usage:
node samples/setRPODefault.js
Set Retention Policy
View the source code.
Usage:
node samples/setRetentionPolicy.js
Set Soft Delete Policy
View the source code.
Usage:
node samples/setSoftDeletePolicy.js
Set Temporary Hold
View the source code.
Usage:
node samples/setTemporaryHold.js
Stream File Download
View the source code.
Usage:
node samples/streamFileDownload.js
Stream File Upload
View the source code.
Usage:
node samples/streamFileUpload.js
Upload a directory to a bucket.
Uploads full hierarchy of a local directory to a bucket.
View the source code.
Usage:
node files.js upload-directory <bucketName> <directoryPath>
Upload Directory With Transfer Manager
Uploads a directory in parallel utilizing transfer manager.
View the source code.
Usage:
node uploadFolderWithTransferManager.js <BUCKET_NAME> <DIRECTORY_NAME>
Upload Encrypted File
View the source code.
Usage:
node samples/uploadEncryptedFile.js
Upload File
View the source code.
Usage:
node samples/uploadFile.js
Upload a File in Chunks With Transfer Manager
Uploads a single file in in chunks in parallel utilizing transfer manager.
View the source code.
Usage:
node uploadFileInChunksWithTransferManager.js <BUCKET_NAME> <FILE_NAME> <CHUNK_SIZE>
Upload File With Kms Key
View the source code.
Usage:
node samples/uploadFileWithKmsKey.js
Upload From Memory
View the source code.
Usage:
node samples/uploadFromMemory.js
Upload Many Files With Transfer Manager
Uploads many files in parallel utilizing transfer manager.
View the source code.
Usage:
node uploadManyFilesWithTransferManager.js <BUCKET_NAME> <FIRST_FILE_NAME> <SECOND_FILE_NAME>
Upload Without Authentication
View the source code.
Usage:
node samples/uploadWithoutAuthentication.js
Upload Without Authentication Signed Url
View the source code.
Usage:
node samples/uploadWithoutAuthenticationSignedUrl.js
View Bucket Iam Members
View the source code.
Usage:
node samples/viewBucketIamMembers.js
