我在使用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
对象中传递位置代码,但它并没有太大的区别。我在这里错过了什么吗?
答案 0 :(得分:0)
通过搜索,我能够找到经过测试的公共reference,它使用getTables()列出了数据集中的所有表。我的代码如下:
'Fact' is not an attribute