【问题标题】:Cloud Function - BigQuery returns just an object with domains ( null )Cloud Function - BigQuery 只返回一个带域的对象 ( null )
【发布时间】:2019-10-20 08:42:33
【问题描述】:

我得到的唯一结果是:

{"domain":{"domain":null,"_events":{},"_eventsCount":1,"members":[]}}

const functions = require('firebase-functions');
const {BigQuery} = require('@google-cloud/bigquery');


export default functions.https.onRequest((req, response) => {

    var result = queryBigQuery();
    response.status(200).send(JSON.stringify(result));

})


async function queryBigQuery() {
    var bigQuery = new BigQuery({ projectId: 'project-id', keyFilename: "src/credentials-name.json" });

    await bigQuery.query({
        query: 'SELECT * from `project-id.firebase_predictions.com_project_app_ANDROID` LIMIT 10',
        timeoutMs: 10000,
        useLegacySql: false
    }).then( (data) => {
        return data[0];
    }).catch( (error) => {
        return error;
    });

}

【问题讨论】:

  • 如果是我,我会消除变量。尝试在 Compute Engine 或本地 PC 上将查询作为 Node.js 函数运行。验证您的查询和凭据是否按预期工作。如果您在不涉及 Cloud Functions 的情况下遇到同样的错误,那么我们已经删除了这些问题的主要考虑因素。
  • 但是在 BigQuery 的项目中我可以看到最后执行的查询,并且我可以找到这个带有正确凭证信息的查询,所以它正在工作但没有返回正确的数据

标签: javascript google-cloud-platform google-bigquery google-cloud-functions


【解决方案1】:

您是否尝试过documentation 中的查询示例?

const query = 'SELECT url FROM `publicdata:samples.github_nested` LIMIT 100';     
bigquery.query(query).then(function(data) {
   var rows = data[0];
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2019-10-13
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    相关资源
    最近更新 更多