【问题标题】:HTTPS query to BigQuery - Required parameter is missing对 BigQuery 的 HTTPS 查询 - 缺少必需的参数
【发布时间】:2016-08-26 15:11:10
【问题描述】:

我正在尝试使用 node.js 和 Google 的 bigQuery,并且可以成功地发出请求以获取公共数据集列表和单个数据集的详细信息,但是当我尝试查询其中一个时,我得到 400 'Required parameter is missing',但是它没有告诉我哪个参数。我的代码如下:

var options = {
  host: 'www.googleapis.com',
  headers: {'Authorization': 'Bearer ' + accessCode},
  path: '/bigquery/v2/projects/bigquery-public-data/queries',
  method: 'POST'
};

var query = {
  kind: 'bigquery#queryRequest',
  query: "SELECT * FROM [hacker_news.full_201510]",
  maxResults: 10,
  defaultDataset: {
    datasetId: 'hacker_news',
    projectId: 'bigquery-public-data'
  },
  timeoutMs: 10000,
  dryRun: true,
  useQueryCache: true,
  useLegacySql: true
};

var callback = function(response) {
  var str = '';

  response.on('data', function (chunk) {
    str += chunk;
  });

  response.on('end', function () {
    console.log(str);
  });
}

var req = http.request(options, callback);
req.write(JSON.stringify(query));
req.end();

有什么建议吗?

【问题讨论】:

  • 你解决过这个问题吗?我也遇到了同样的问题。
  • 我现在也遇到了同样的问题:(

标签: node.js google-bigquery


【解决方案1】:

您似乎包含了本文档中的所有必需参数: https://cloud.google.com/bigquery/docs/reference/v2/jobs/query

我的建议是使用 Node.js 客户端库,这样您就不必手工制作这些请求。

在本文档中,您可以向下滚动并在示例下选择 node.js。

【讨论】:

  • 感谢您的回复。我有两个“手工制作”请求的原因。首先是为了更好地理解 API,其次最终的目标语言没有库支持。
猜你喜欢
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 2018-10-28
  • 2018-12-01
  • 2016-06-29
  • 2018-06-20
  • 2020-09-27
相关资源
最近更新 更多