#api #rest #view #google-bigquery
#API #rest #Вид #google-bigquery
Вопрос:
У меня есть таблица BQ configuration
в MAPPINGS
и ее представление config_vw
в SHARED_VIEWS
наборе данных.
Теперь я пытаюсь прочитать таблицу и ее представление, используя URI REST API.
Запрос таблицы 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"
}
}
Пожалуйста, подскажите, как получить доступ к BQ view с помощью REST API?
С уважением, San
Ответ №1:
Ожидается, что вы не сможете извлекать данные из представления с помощью tabledata.list REST API.
ПРЕДСТАВЛЕНИЕ — это, по сути, «сохраненный запрос», который вам нужно выполнить, чтобы преобразовать его в таблицу, прежде чем вы сможете использовать tabledata.list для извлечения его данных.
Например, вы можете использовать jobs.insert API для выполнения запроса типа
CREATE TABLE SHARED_VIEWS.materailized_config_vw
AS SELECT * FROM SHARED_VIEWS.config_vw
Затем вы можете прочитать SHARED_VIEWS.materailized_config_vw с помощью tabledata.list.