使用nodejs gcloud上传到bigquery时如何启用错误

how to enable errors when uploading to bigquery using nodejs gcloud

使用 bigquery UI 我可以选择通过检查

来启用错误
Number of errors allowed

现在,当我在 nodejs 中使用 Gcloud 时,如何启用错误?

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

这是作业配置中的 maxBadRecords 字段。您可以在 BigQuery API 中插入作业时指定此项。我不确定 nodejs 客户端的外观如何,但是如果您传入作业形状的对象,您应该能够在其加载作业配置中指定 maxBadRecords

这是使用 Danny Kitt's 答案的答案:

var gcloud = require('gcloud')({
  keyFilename: '../config/keyfile.json',
  projectId: 'my-project'
});

var request = require('request');

var bigquery = gcloud.bigquery();


var dataset = bigquery.dataset('my_dataset');
var table = dataset.table('my_table');

var metadata = {
    sourceFormat: 'NEWLINE_DELIMITED_JSON',
    maxBadRecords: 2
};

fs = require('fs');

fs.createReadStream('./myFile.json')
  .pipe(table.createWriteStream(metadata))
  .on('complete', function(job) {
   job
      .on('error', console.log)
      .on('complete', function(metadata) {
        console.log('job completed', metadata);
      });
  });