BigQuery:getTables没有返回表名(Node.js)

时间:2018-06-18 10:52:40

标签: node.js google-bigquery

我在使用getTables(Node.js)从数据集中获取表名时遇到问题。我对数据集中的表具有读/写访问权限,并且该函数确实返回了一些信息,因此它不应该是auth问题。

我提到the GAPI documentation并尝试了以下内容:

const BigQuery = require("@google-cloud/bigquery");
const bigquery = new BigQuery([Project ID]);
const datasetId = [dataset ID];

bigquery
    .dataset(datasetId)
    .getTables(function(err, tables){
        console.log(tables);
});

,结果如下:

[ Table {
    bigQuery: BigQuery { location: undefined },
    dataset: Dataset { bigQuery: [Object] } },
  Table {
    bigQuery: BigQuery { location: undefined },
    dataset: Dataset { bigQuery: [Object] } },
  Table {
    bigQuery: BigQuery { location: undefined },
    dataset: Dataset { bigQuery: [Object] } },
  Table {
    bigQuery: BigQuery { location: undefined },
    dataset: Dataset { bigQuery: [Object] } } ]

我在数据集中有四个表,因此行数是正确的,但它没有提供每个表的详细信息。此外console.log(tables[0]);会返回此信息:

Table {
  bigQuery: BigQuery { location: undefined },
  dataset: Dataset { bigQuery: BigQuery { location: undefined } } }

...这与what I expect it to return完全不同。

我尝试在options对象中传递位置代码,但它并没有太大的区别。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

通过搜索,我能够找到经过测试的公共reference,它使用getTables()列出了数据集中的所有表。我的代码如下:

'Fact' is not an attribute