使用Node.js连接到Google BigQuery时,BigQuery不是构造函数错误

时间:2018-11-07 14:27:54

标签: node.js google-cloud-platform google-bigquery

根据我发现的所有教程(以下链接中的一个示例),以下代码片段应允许我连接和查询Google BigQuery。但是,无论是否发送凭据json的任何组合,总会导致相同的错误“ BigQuery不是构造函数”,我目前正在通过google在线云shell对此进行测试。任何想法都会有所帮助。谢谢 https://cloud.google.com/nodejs/docs/reference/bigquery/1.3.x/BigQuery#createJob

const BigQuery = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

const query = 'SELECT * FROM `random.table` LIMIT 100';

bigquery.createQueryJob(query).then(function(data) {
    var job = data[0];
    var apiResponse = data[1];
    console.log(job.getQueryResults())
    return job.getQueryResults();
  });

错误

/home/v/testServer.js:2
const bigquery = new BigQuery();
                 ^
TypeError: BigQuery is not a constructor
    at Object.<anonymous> (/home/user_name/testServer.js:2:18)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

1 个答案:

答案 0 :(得分:9)

此问题似乎是由于将{ }符号添加到BigQuery import所必需的。我刚刚通过添加以下导入行进行了测试,并且效果很好:

// Imports the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');