我正在使用官方Google Node connector to BigQuery。
我有以下代码片段将记录流式传输到数据库中:
module.exports.sendToBigQuery = (rows) => {
bigquery
.dataset(DATASET_NAME)
.table(TABLE_NAME)
.insert(rows)
.catch(err => {
if (err && err.name === 'PartialFailureError') {
if (err.errors && err.errors.length > 0) {
console.log('Insert errors:');
err.errors.forEach(err => console.error(err));
}
} else {
console.error('ERROR:', err);
}
});
};
不幸的是,每当我的数据与the scema不匹配时,我得到的就是这个神秘的错误对象:
{ errors: [ { message: 'no such field.', reason: 'invalid' } ],
没有location
字段可以告诉我哪个字段丢失,这使得调试此代码成为更复杂模式的噩梦。
有没有办法以某种方式启用错误的调试级别?或者它只是客户端实现中的一个错误?知道如何访问这些信息吗?
答案 0 :(得分:2)
这里的云支持,我可以看到你还提交了一个github issue,其中明确了a)这与node.js客户端库无关,但与BigQuery API本身有关,b)你至少可以得到发生错误的行。在任何情况下,我都认为此时无论如何都可以获得丢失的字段,但我提交了feature request,您可以关注更新。
答案 1 :(得分:1)