Как создать представление BigQuery с помощью запроса REST - PullRequest
0 голосов
/ 03 сентября 2018

Я пытался создать и отправить запрос REST с помощью Google Таблицы: вставьте страницу со следующими (очищенными) значениями:

Параметры запроса

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 возвращает следующий ответ:

{
 "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"
 }
}

Жаль, что «Обязательный параметр» не указан в этом сообщении об ошибке!

Я могу использовать этот метод кода для создания представления, но этот метод кода вызывает исключение при исправлении представлений.

Помощь приветствуется. Я бы предпочел не использовать два разных способа управления представлениями в моем коде.

Спасибо.

1 Ответ

0 голосов
/ 03 сентября 2018

Удалить "type": "VIEW", из вашего запроса.

Это не входной параметр. Это поле вывода из ответа.

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

enter image description here

...