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.
-
Read Prerequisites and How to run a sample first.
-
Install dependencies:
With npm:
npm install
With yarn:
yarn install
View the documentation or the source code.
Usage: node acl.js --help
Commands:
print-bucket-acl <bucketName> Prints the ACL for a bucket.
print-bucket-acl-for-user <bucketName> <userEmail> Prints a user's ACL for a bucket.
add-bucket-owner <bucketName> <userEmail> Adds a user as an owner of a bucket.
remove-bucket-owner <bucketName> <userEmail> Removes a user from the ACL of a bucket.
add-bucket-default-owner <bucketName> <userEmail> Adds a user as an owner in the default ACL of a bucket.
remove-bucket-default-owner <bucketName> <userEmail> Removes a user from the default ACL of a bucket.
print-file-acl <bucketName> <fileName> Prints the ACL for a file.
print-file-acl-for-user <bucketName> <fileName> <userEmail> Prints a user's ACL for a file.
add-file-owner <bucketName> <fileName> <userEmail> Adds a user as an owner of a file.
remove-file-owner <bucketName> <fileName> <userEmail> Removes a user from the ACL of a file.
Options:
--help Show help [boolean]
Examples:
node acl.js print-bucket-acl my-bucket
node acl.js print-bucket-acl-for-user my-bucket [email protected]
node acl.js add-bucket-owner my-bucket [email protected]
node acl.js remove-bucket-owner my-bucket [email protected]
node acl.js add-bucket-default-owner my-bucket [email protected]
node acl.js remove-bucket-default-owner my-bucket [email protected]
node acl.js print-file-acl my-bucket file.txt
node acl.js print-file-acl-for-user my-bucket file.txt [email protected]
node acl.js add-file-owner my-bucket file.txt [email protected]
node acl.js remove-file-owner my-bucket file.txt [email protected]
For more information, see https://cloud.google.com/storage/docs/access-control/create-manage-lists
View the documentation or the source code.
Usage: node buckets.js --help
Commands:
create <bucket> Creates a new bucket.
list Lists all buckets in the current project.
delete <bucket> Deletes a bucket.
Options:
--help Show help [boolean]
Examples:
node buckets.js create my-bucket Creates a new bucket named "my-bucket".
node buckets.js list Lists all buckets in the current project.
node buckets.js delete my-bucket Deletes a bucket named "my-bucket".
For more information, see https://cloud.google.com/storage/docs
View the documentation or the source code.
Usage: node encryption.js --help
Commands:
generate-encryption-key Generate a sample encryption key.
upload <bucketName> <srcFilename> <destFilename> <key> Encrypts and uploads a file.
download <bucketName> <srcFilename> <destFilename> <key> Decrypts and downloads a file.
rotate <bucketName> <fileName> <oldkey> <newKey> Rotates encryption keys for a file.
Options:
--help Show help [boolean]
Examples:
node encryption.js generate-encryption-key Generate a sample encryption key.
node encryption.js upload my-bucket ./resources/test.txt Encrypts and uploads "resources/test.txt" to
file_encrypted.txt QxhqaZEqBGVTW55HhQw9Q= "gs://my-bucket/file_encrypted.txt".
node encryption.js download my-bucket file_encrypted.txt Decrypts and downloads
./file.txt QxhqaZEqBGVTW55HhQw9Q= "gs://my-bucket/file_encrypted.txt" to "./file.txt".
node encryption.js rotate my-bucket file_encrypted.txt Rotates encryption keys for
QxhqaZEqBGVTW55HhQw9Q= SxafpsdfSDFS89sds9Q= "gs://my-bucket/file_encrypted.txt".
For more information, see https://cloud.google.com/storage/docs
View the documentation or the source code.
Usage: node files.js --help
Commands:
list <bucketName> [prefix] [delimiter] Lists files in a bucket, optionally filtering by a
prefix.
upload <bucketName> <srcFileName> Uploads a local file to a bucket.
download <bucketName> <srcFileName> <destFileName> Downloads a file from a bucket.
delete <bucketName> <fileName> Deletes a file from a bucket.
get-metadata <bucketName> <fileName> Gets the metadata for a file.
make-public <bucketName> <fileName> Makes a file public.
generate-signed-url <bucketName> <fileName> Generates a signed URL for a file.
move <bucketName> <srcFileName> <destFileName> Moves a file to a new location within the same bucket,
i.e. rename the file.
copy <srcBucketName> <srcFileName> <destBucketName> Copies a file in a bucket to another bucket.
<destFileName>
Options:
--help Show help [boolean]
Examples:
node files.js list my-bucket Lists files in "my-bucket".
node files.js list my-bucket public/ Lists files in "my-bucket" filtered by prefix "public/".
node files.js upload my-bucket ./file.txt Uploads "./file.txt" to "my-bucket".
node files.js download my-bucket file.txt ./file.txt Downloads "gs://my-bucket/file.txt" to "./file.txt".
node files.js delete my-bucket file.txt Deletes "gs://my-bucket/file.txt".
node files.js get-metadata my-bucket file.txt Gets the metadata for "gs://my-bucket/file.txt".
node files.js make-public my-bucket file.txt Makes "gs://my-bucket/file.txt" public.
node files.js move my-bucket file.txt file2.txt Renames "gs://my-bucket/file.txt" to
"gs://my-bucket/file2.txt".
node files.js copy my-bucket file.txt my-other-bucket Copies "gs://my-bucket/file.txt" to
file.txt "gs://my-other-bucket/file.txt".
For more information, see https://cloud.google.com/storage/docs
View the documentation or the source code.
Usage: node transfer.js --help
Commands:
jobs <cmd> [args] Run a job command.
operations <cmd> [args] Run an operation command.
Options:
--help Show help [boolean]
Examples:
node transfer.js jobs --help Show job commands.
node transfer.js operations --help Show operations commands.
For more information, see https://cloud.google.com/storage/transfer
-
Set the GCLOUD_PROJECT and GOOGLE_APPLICATION_CREDENTIALS environment variables.
-
Run the tests:
With npm:
npm test
With yarn:
yarn test