【问题标题】:REST Api calls to google big queryREST Api 调用谷歌大查询
【发布时间】:2017-01-09 14:49:05
【问题描述】:

我正在尝试从终端对谷歌大查询进行休息 api 调用。 我尝试了 bq 查询,它有效。

bq query 'select count(*) from publicdata:samples.shakespeare'

只是想知道 bq 的其余终点是什么?或者是否有任何可以从终端执行的大查询的 http rest api 调用?

有点像

Get http://...//'select count(*) from publicdata:samples.shakespeare'

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: rest google-bigquery


    【解决方案1】:

    Google BigQuery 提供了很少的 API 以异步和同步方式执行查询

    Insert Job
    发布https://www.googleapis.com/upload/bigquery/v2/projects/projectId/jobs

    发布https://www.googleapis.com/bigquery/v2/projects/projectId/jobs

    此 API 启动一个新的异步作业。需要 Can View 项目角色。

    Query Job
    发布https://www.googleapis.com/bigquery/v2/projects/projectId/queries

    此 API 运行 BigQuery SQL 查询并在查询在指定的超时时间内完成时返回结果。

    您可以在BigQuery API Reference查看更多详细信息

    【讨论】:

    • 谢谢米哈伊尔。我正在尝试在查询作业中执行 sql 查询,我可以明确指定查询还是应该在控制台中执行它并在此处提供作业 ID:我正在尝试这样的事情:POST googleapis.com/bigquery/v2/projects/red-road-574/queries/… * FROM [projectid: Test.FinalCluster] ORDER BY HId, TId, StartTime, StopTime 限制 10' 这是一个简单的 api 调用,所以我不介意它是否同步执行。如果我误解了,请纠正我。
    • 如果它是 GET 方法 - 您将能够将查询文本作为查询字符串传递。但是没有 GET 方法可以解决这个问题。而是 POST 方法,您需要在请求正文中传递查询文本以及其他资源。在答案中的链接中查看多个示例
    【解决方案2】:

    根据REST reference,所有请求都应与https://www.googleapis.com/bigquery/v2 相关。例如,对于query API,您可以使用jobs.query reference 中列出的请求正文向https://www.googleapis.com/bigquery/v2/projects/your_project_id/queries 发送一个POST 请求。

    【讨论】:

      【解决方案3】:

      来自文档:

      BigQuery API 参考

      此 API 参考按资源类型组织。每种资源类型 具有一种或多种数据表示和一种或多种方法。

      您可以看到列出所有方法和资源的 API 定义文件 在https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest

      我想这就是你要找的东西:https://cloud.google.com/bigquery/docs/reference/rest/v2/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多