Как создать BigQuery View с помощью запроса REST

Я попытался создать и отправить запрос 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 ответ

Решение

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

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

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

Другие вопросы по тегам