Storage Transfer Service: Node.js Client

release level npm version

storagetransfer client for Node.js

A comprehensive list of changes in each version may be found in the CHANGELOG .

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

  1. Select or create a Cloud Platform project .
  2. Enable billing for your project .
  3. Enable the Storage Transfer Service API .
  4. Set up authentication with a service account so you can access the API from your local workstation.

Installing the client library

 npm install @google-cloud/storage-transfer 

Using the client library

 // Imports the Google Cloud client library
const {
  StorageTransferServiceClient,
} = require(' @google-cloud/storage-transfer 
');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// Your project id
// const projectId = 'my-project'

// The ID of the GCS bucket to transfer data from
// const gcsSourceBucket = 'my-source-bucket'

// The ID of the GCS bucket to transfer data to
// const gcsSinkBucket = 'my-sink-bucket'

// Creates a client
const client = new StorageTransferServiceClient 
();

/**
 * Creates a one-time transfer job.
 */
async function quickstart() {
  // Creates a request to transfer from the source bucket to
  // the sink bucket
  const createRequest = {
    transferJob: {
      projectId: projectId,
      transferSpec: {
        gcsDataSource: {bucketName: gcsSourceBucket},
        gcsDataSink: {bucketName: gcsSinkBucket},
      },
      status: ' ENABLED 
',
    },
  };

  // Runs the request and creates the job
  const [transferJob] = await client.createTransferJob(createRequest);

  const runRequest = {
    jobName: transferJob.name,
    projectId: projectId,
  };
  await client.runTransferJob(runRequest);

  console.log(
    `Created and ran a transfer job from ${gcsSourceBucket} to ${gcsSinkBucket} with name ${transferJob.name}`
  );
}

quickstart(); 

Samples

Samples are in the samples/ directory. Each sample's README.md has instructions for running its sample.

Sample Source Code Try it
Aws-request
source code Open in Cloud Shell
Check-latest-transfer-operation
source code Open in Cloud Shell
Get-transfer-job-with-retries
source code Open in Cloud Shell
Nearline-request
source code Open in Cloud Shell
Quickstart
source code Open in Cloud Shell
Transfer-check
source code Open in Cloud Shell

The Storage Transfer Service 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-transfer@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

Design a Mobile Site
View Site in Mobile | Classic
Share by: