Google bigquery 通过自定义网页(不是内置的WebUI)从BigQuery中提取数据

Google bigquery 通过自定义网页(不是内置的WebUI)从BigQuery中提取数据,google-bigquery,Google Bigquery,我正在尝试构建一个简单的基于web的前端工具,以便直接从BigQuery中获取数据,最好不要使用中间层类型的web服务器应用程序。我指的不是通过Google控制台提供的WebUI工具,而是可以从网页内部进行身份验证、根据用户输入发送查询并以JSON/JavaScript数组等形式返回数据的工具 本文通过使用Polymer toolkit概述了一种有趣的方法——我了解Google身份验证元素、查询元素和数据绑定元素的一些组合 我在网上找到了谷歌认证的例子,但没有看到任何关于查询部分的内容。我在Go

我正在尝试构建一个简单的基于web的前端工具,以便直接从BigQuery中获取数据,最好不要使用中间层类型的web服务器应用程序。我指的不是通过Google控制台提供的WebUI工具,而是可以从网页内部进行身份验证、根据用户输入发送查询并以JSON/JavaScript数组等形式返回数据的工具

本文通过使用Polymer toolkit概述了一种有趣的方法——我了解Google身份验证元素、查询元素和数据绑定元素的一些组合

我在网上找到了谷歌认证的例子,但没有看到任何关于查询部分的内容。我在Google的在线BigQuery文档中没有看到任何与此相关的内容,除了关于使用WebUI的指南,该指南不适用于此任务。任何例子都非常感谢

你看到上面的页面了吗?例如,它有使用node.js发出查询的示例。在不太了解应用程序的情况下,我假设您希望使用异步API启动查询。它给出的示例是:


尝试了node.js,它在后台运行得非常好!现在只需要弄清楚如何让D3与Node.js一起工作(D3似乎作为常规HTML页面单独工作,但与Node.js集成有点棘手)。但这是另一个话题。BigQuery部分工作得很好。谢谢
function asyncQuery (sqlQuery) {
  // Instantiates a client
  const bigquery = BigQuery();

  // Query options list: https://cloud.google.com/bigquery/docs/reference/v2/jobs/query
  const options = {
    query: sqlQuery,
    useLegacySql: false // Use standard SQL syntax for queries.
  };

  let job;

  // Runs the query as a job
  return bigquery.startQuery(options)
    .then((results) => {
      job = results[0];
      console.log(`Job ${job.id} started.`);
      return job.promise();
    })
    .then(() => {
      console.log(`Job ${job.id} completed.`);
      return job.getQueryResults();
    })
    .then((results) => {
      const rows = results[0];
      console.log('Rows:');
      rows.forEach((row) => console.log(row));
      return rows;
    });
}