Google Cloud storage is not a function

Viewed 3133

I am trying to connect to the Google Cloud Bucket through

 const storage = require('@google-cloud/storage');
 const gcs = storage({    //TypeError: storage is not a function
  "keyFileName": 'path-to-keyfile.json',
  "type": "service_account",
  "project_id": <PROJECT_NAME>,

 //SOME CREDENTIALS
});

const bucket = gcs.bucket(<BUCKET_NAME>)

but I am getting an error that storage is not a function. Is there some issue that i am missing?

2 Answers

By using the Node.js Cloud Storage client libraries version 2.3.4 I was able to connect to a bucket with this code:

'use strict';

async function quickstart(
  projectId = 'PROJECT_ID', // Your Google Cloud Platform project ID
  keyFilename = '/home/folder/key.json' //Full path of the JSON file
) {
  // Imports the Google Cloud client library
  const {Storage} = require('@google-cloud/storage');

  // Creates a client
  const storage = new Storage({keyFilename,projectId});
  const bucket = storage.bucket('BUCKET_NAME')

This was based on the Quickstart documentation and the constructor options

Hope it helps.

The recommended methods didn't work for me, while updating GCS from 1.x to 5.x on an older project. Node 14, CommonJs (not modules).

But this finally worked:

const Storage = require('@google-cloud/storage');
const gcs = new Storage({gcsProjectId});
Related