Я создал файл определения таблицы по ссылке Google Sheet в BigQuery Cloud Shell, затем использовал этот файл определения таблицы для создания внешней таблицы. В книге Google Sheet есть несколько листов, но по умолчанию она создала внешнюю таблицу на основе первого листа. Я хотел бы также создавать таблицы из других листов, но добавление параметра, определяющего ссылку на лист, в файл определения таблицы не сработало - и я не нашел причину, по которой.
Я создал определение file:
bq mkdef \
--autodetect \
--source_format=GOOGLE_SHEETS \
https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496 > table_def
Файл определения выглядит следующим образом:
{
"autodetect": true,
"sourceFormat": "GOOGLE_SHEETS",
"sourceUris": [
"https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496"
]
}
Я изменил файл определения, добавив ссылку на лист:
{
"autodetect": true,
"sourceFormat": "GOOGLE_SHEETS",
"sourceUris": [
"https://docs.google.com/spreadsheets/d/1H9fgHbn_ztDgZZyEy4TXV7DOsBto6xI2Aey1iDeg4YA/edit#gid=2054000496"
],
"range" : "Sheet2!A1:Z100"
}
И создал внешняя таблица:
bq mk \
--external_table_definition=table_def \
myproject-bq:my_dataset.test_table
Однако таблица создается на основе листа Sheet1 по умолчанию, а не указанного листа 2.
Я пробовал его с / без определения диапазона ячеек, с / без кавычек для определения листа.
Как выбрать лист, отличный от листа по умолчанию (первый лист), при создании внешних таблиц из Google Sheet в BigQuery Clould Shell?