alvst
alvst

Reputation: 95

How to access a specific file and its contents from within Google Cloud Storage

I need to access a file stored on Google Cloud Storage, this is not a file that is uploaded, instead it is created by a cloud function. I cannot figure out how to access this file using Node.

I have tried many of the things recommended on Stackoverflow.

Similarly, I have checked out the sample Google project but that only uses read streams and because I am not uploading the file, I couldn't figure out how to use that.

The closest I have gotten is modifing the first link to get this

var {Storage} = require('@google-cloud/storage');
var gcs = new Storage({
  keyFilename: path.join("_file.json"),
  projectId: 'ProjectId'
});

const chosenBucket = gcs.bucket("bucket_name");
var file = chosenBucket('file.json');

This causes a TypeError: TypeError: bucket is not a function

How can I access and read the json located within the file?

Upvotes: 1

Views: 2102

Answers (1)

Brandon Yarbrough
Brandon Yarbrough

Reputation: 38369

const chosenBucket = gcs.bucket("bucket_name");
var file = chosenBucket('file.json');

chosenBucket is not a function. It's a Bucket object. Do something like this:

const chosenBucket = gcs.bucket("bucket_name");
var file = chosenBucket.file('file.json');

const download_options = {
  // The path to which the file should be downloaded, e.g. "./file.txt"
  destination: destFilename,
};
await file.download(download_options)

See an example: https://github.com/googleapis/nodejs-storage/blob/master/samples/files.js

Upvotes: 2

Related Questions