如何使用 REST 请求创建 BigQuery 视图

How to create a BigQuery View using REST request

我已经尝试使用 Google Tables: insert 页面构建和发送 REST 请求,其中包含以下(经过清理的)值:

请求参数

projectId:prj-name
datasetId:dataset_name

请求正文

{
  "view": {
    "useLegacySql": false,
    "query": "SELECT * FROM `prj-name.dataset_name.hello_world`"
  },
  "type": "VIEW",
  "tableReference": {
    "projectId": "prj-name",
    "datasetId": "dataset_name",
    "tableId": "v_hello_world"
  }
}

建议这些参数应该有效,但 Google returns 以下响应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Output field used as input"
   }
  ],
  "code": 400,
  "message": "Output field used as input"
 }
}

我试验过 REST 属性,我认为 400 问题是由包含 tableReference 属性 引起的。但是如果我排除它,我会得到以下替代错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required parameter is missing"
   }
  ],
  "code": 400,
  "message": "Required parameter is missing"
 }
}

遗憾的是 "Required parameter" 没有在此错误消息中命名!

我可以使用this code method创建视图,但是该代码方法在修补视图时抛出异常。

感谢您的帮助。我宁愿不必在我的代码中维护两种不同的视图管理方式。

谢谢。

从您的请求中删除 "type": "VIEW",

这不是输入参数。这是响应的输出字段。

https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#resource