Skip to content

Latest commit

 

History

History
 
 

storage

Google Cloud Platform logo

Google Cloud Storage Node.js Samples

Cloud Storage allows world-wide storage and retrieval of any amount of data at any time.

Table of Contents

Setup

  1. Read Prerequisites and How to run a sample first.

  2. Install dependencies:

     npm install
    

Samples

ACL (Access Control Lists)

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

Buckets

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

Encryption

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

Files

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

Storage Transfer API

View the documentation or the source code.

Usage: node transfer --help

Commands:
  jobs <cmd> [args]        Run a job command.
  operations <cmd> [args]  Run an operation command.

Options:
  --help  Show help                                                                        [boolean]

Examples:
  node transfer jobs --help        Show job commands.
  node transfer operations --help  Show operations commands.

For more information, see https://cloud.google.com/storage/transfer

Usage: node transfer jobs --help

transfer jobs <cmd> [args]

Commands:
  create <srcBucket> <destBucket> <time> <date>       Create a transfer job.
  [description]
  get <job>                                           Get a transfer job.
  list                                                List transfer jobs.
  set <job> <field> <value>                           Change the status, description or transferSpec
                                                      of a transfer job.

Options:
  --help  Show help                                                                        [boolean]

Examples:
  node transfer jobs create my-bucket                 Create a transfer job.
  my-other-bucket 2016/08/12 16:30 "Move my files"
  node transfer jobs get                              Get a transfer job.
  transferJobs/123456789012345678
  node transfer jobs list                             List transfer jobs.
  node transfer jobs set                              Update the description for a transfer job.
  transferJobs/123456789012345678 description "My
  new description"
  node transfer jobs set                              Disable a transfer job.
  transferJobs/123456789012345678 status DISABLED

Usage: node transfer operations --help

transfer operations <cmd> [args]

Commands:
  list [job]          List transfer operations, optionally filtering by a job name.
  get <operation>     Get a transfer operation.
  pause <operation>   Pause a transfer operation.
  resume <operation>  Resume a transfer operation.

Options:
  --help  Show help                                                                        [boolean]

Examples:
  node transfer operations list                       List all transfer operations.
  node transfer operations list                       List all transfer operations for a specific
  transferJobs/123456789012345678                     job.
  node transfer operations get                        Get a transfer operation.
  transferOperations/123456789012345678
  node transfer operations pause                      Pause a transfer operation.
  transferOperations/123456789012345678
  node transfer operations resume                     Resume a transfer operation.
  transferOperations/123456789012345678