Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从Google云存储中访问特定文件及其内容_Node.js_Google Cloud Platform_Google Cloud Storage - Fatal编程技术网

Node.js 如何从Google云存储中访问特定文件及其内容

Node.js 如何从Google云存储中访问特定文件及其内容,node.js,google-cloud-platform,google-cloud-storage,Node.js,Google Cloud Platform,Google Cloud Storage,我需要访问存储在谷歌云存储上的文件,这不是上传的文件,而是由云函数创建的。我无法确定如何使用节点访问此文件 我在Stackoverflow上尝试了许多推荐的方法 类似地,我检查了示例Google项目,但它只使用读取流,因为我没有上传文件,所以我不知道如何使用它 我得到的最接近的是修改第一个得到这个 var {Storage} = require('@google-cloud/storage'); var gcs = new Storage({ keyFilename: path.j

我需要访问存储在谷歌云存储上的文件,这不是上传的文件,而是由云函数创建的。我无法确定如何使用节点访问此文件

我在Stackoverflow上尝试了许多推荐的方法

类似地,我检查了示例Google项目,但它只使用读取流,因为我没有上传文件,所以我不知道如何使用它

我得到的最接近的是修改第一个得到这个

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');
这会导致类型错误:
TypeError:bucket不是函数

如何访问和读取文件中的json

const chosenBucket = gcs.bucket("bucket_name");
var file = chosenBucket('file.json');
chosenBucket不是一个函数。它是一个
Bucket
对象。这样做:

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)

请参见示例:

您知道文件名吗?是否要在写入文件时启动此进程?你的Node版本是什么?是的,我知道文件名。我根本不需要写入文件,只需要从中读取,但它是为每个实例新创建的文件。它是node的版本12。此外,该文件的权限是公共的。