简体   繁体   中英

Google Cloud storage is not a function

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?

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});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM