【发布时间】:2020-02-10 17:39:20
【问题描述】:
我正在尝试在 BigQuery 中创建一个新表。我已遵循这些说明https://codelabs.developers.google.com/codelabs/cloud-bigquery-nodejs/index.html?index=..%2F..index#9 并正确定义了我的用户和角色。
我创建了一个节点项目,安装了 google 依赖项并具有以下代码:
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery({
projectId: 'myproject-develop-3fcb6',
private_key_id: "11111111111",
client_email: "myuser-bigquery-sa@myproject-develop-3fcb6.iam.gserviceaccount.com",
client_id: "212111112",
});
这就是我创建数据集和表的方式:
module.exports = {
createTable: ({ datasetId, tableId, schema, partitionBy}) => {
const options = { schema };
if (partitionBy) {
options.timePartitioning = {
field: partitionBy
};
}
return new Promise((resolve, reject) => {
resolve();
bigquery
.dataset(datasetId)
.createTable(tableId, options)
.then(results => resolve(results[0]))
.catch(err => {
handleError(err);
reject(err);
});
});
},
};
当我运行我的 createTableFunction 并传入数据集名称、表名、架构时,我立即收到以下错误
ERROR: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.
如何将我的默认凭据传递给 BigQuery,以便我可以在 node.js 中执行 CRUD 操作?谢谢
【问题讨论】: