是否可以使用nodejs直接写入gcp托管的文件

时间:2019-08-29 17:24:44

标签: javascript node.js google-cloud-platform google-cloud-storage

我想知道是否有任何方法可以直接写入GCP / Google云存储分区中托管的文件。理想情况下,我们希望使用nodejs写入文件,但也希望探索其他技术。

我们在NodeJS路由器方法中收到一个请求,我们想将请求内容写入GCP存储桶中的文件。在我看来,写入gcp存储桶中文件的唯一方法是上传文件,但我们会想看看是否有任何方法可以写入文件而不必上传文件。

有什么办法可以做到这一点?任何指针或链接都将非常有帮助。

2 个答案:

答案 0 :(得分:2)

由于您可以使用其他工具,因此如何使用gcsfuse将存储桶安装到本地文件系统中,那么您只需在nodejs请求中写入安装点,然后让gcsfuse进行上传即可。 / p>

答案 1 :(得分:1)

我可以向您指出file.createWriteStream的方向,您可以在其中创建可写流以管道传输到文件。

const fs = require('fs');
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const myBucket = storage.bucket('my-bucket');

const file = myBucket.file('my-file');

fs.createReadStream('/path')
  .pipe(file.createWriteStream())
  .on('error', function(err) {})
  .on('finish', function() {
    // The file upload is complete.
  });