如何使用 BigQuery REST API 读取 BigQuery 视图?

How to read BigQuery view using BigQuery REST API?

我在 MAPPINGS 中有 BQ table configuration,在 SHARED_VIEWS 数据集中有它的视图 config_vw

现在我正在尝试使用 REST API URI 读取 table 及其视图。

table 请求 GET https://bigquery.googleapis.com/bigquery/v2/projects/data-dev2/datasets/MAPPINGS/tables/configuration/data 正确响应。

但是当我为视图做 GET https://bigquery.googleapis.com/bigquery/v2/projects/data-dev2/datasets/SHARED_VIEWS/tables/config_vw/data 时,出现以下错误。

{
  "error": {
    "code": 400,
    "message": "Cannot list a table of type VIEW.",
    "errors": [
      {
        "message": "Cannot list a table of type VIEW.",
        "domain": "global",
        "reason": "invalid"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

请建议如何使用 REST 访问 BQ 视图 API ?

此致, 三

预计您无法使用 tabledata.list REST 从视图中获取数据 API。

VIEW 本质上是一个“保存的查询”,您需要进行查询以将其具体化为 table,然后才能使用 tabledata.list 获取其数据。

例如,您可以使用 jobs.insert API 到 运行 查询,例如

CREATE TABLE SHARED_VIEWS.materailized_config_vw
AS SELECT * FROM SHARED_VIEWS.config_vw

然后您可以使用tabledata.list阅读SHARED_VIEWS.materailized_config_vw。