как создать readstream с буфером с помощью nodejs
у меня есть этот json:
var myJSON = '{"kind": "person", "fullName": "Rivka3"}';
Я пытаюсь загрузить его в bigquery, используя createReadStream. когда я сохраняю его локально, мне это удается:
fs.writeFile("/tmp/bq_json_file_new.json", myJSON, function(err){});
fs.createReadStream("/tmp/bq_json_file_new.json")
  .pipe(table.createWriteStream(metadata))
  .on('complete', function(job) {
    job
      .on('error', console.log)
      .on('complete', function(metadata) {
        console.log('job completed', metadata);
      });
  });
теперь я пытаюсь сделать это, не сохраняя его локально-с помощью буфера:
fs.createReadStream(new Buffer(myJSON, "utf8"))
  .pipe(table.createWriteStream(metadata))
  .on('complete', function(job) {
    job
      .on('error', console.log)
      .on('complete', function(metadata) {
        console.log('job completed', metadata);
      });
  });
но я получаю эту ошибку:
fs.js:575
  binding.open(pathModule._makeLong(path),
TypeError: path must be a string
            1 ответов
используя stream решает проблему:
var stream = require('stream');
var bufferStream = new stream.PassThrough();
bufferStream.end(new Buffer(myJSON));
bufferStream.pipe(table.createWriteStream(metadata))
                   .on('complete', function(job) {
                     job
                       .on('error', console.log)
                       .on('complete', function(metadata) {
                         console.log('job completed', metadata);
                       });
                   });