Ресурс google_bigquery_table
Синтаксис
Для проверки ресурса таблицы Google используется google_bigquery_table
Примеры
describe google_bigquery_table(project: 'chef-gcp-inspec', dataset: 'inspec_gcp_dataset', name: 'inspec_gcp_bigquery_table') do
it { should exist }
its('expiration_time') { should cmp '1738882264000' }
its('time_partitioning.type') { should eq 'DAY' }
its('description') { should eq 'A BigQuery table' }
end
describe google_bigquery_table(project: 'chef-gcp-inspec', dataset: 'inspec_gcp_dataset', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, которые можно получить из ресурса google_bigquery_table:
table_reference- Ссылка, описывающая идентификатор этой таблицы
dataset_id- Идентификатор набора данных, содержащего эту таблицу
project_id- Идентификатор проекта, содержащего эту таблицу
table_id- Идентификатор таблицы
clustering- Одно или несколько полей, по которым должны быть сгруппированы данные. Поддерживаются только поля верхнего уровня, не повторяющиеся и простого типа. При группировке таблицы по нескольким столбцам важен порядок указанных столбцов. Порядок указанных столбцов определяет порядок сортировки данных.
creation_time- Время создания этого набора данных в миллисекундах с начала эпохи.
description- Пользовательское описание набора данных
friendly_name- Дескриптивное имя для этой таблицы
id- Непрозрачный ID, уникально идентифицирующий таблицу.
labels- Метки, связанные с этим набором данных. Вы можете использовать их для организации и группировки наборов данных.
last_modified_time- Время последнего изменения этой таблицы в миллисекундах с начала эпохи.
location- Географическое расположение таблицы. Это значение унаследовано от набора данных.
name- Имя таблицы
num_bytes- Размер этой таблицы в байтах, исключая данные в буфере потоковой передачи.
num_long_term_bytes- Количество байт в таблице, рассматриваемое как «долговременное хранение».
num_rows- Количество строк данных в этой таблице, исключая данные в буфере потоковой передачи.
require_partition_filter- Если установлено в true, запросы к этой таблице требуют фильтра разделов, который может быть использован для исключения разделов.
type- Описание типа таблицы
Возможные значения:
- TABLE
- VIEW
- EXTERNAL
view- Определение представления.
use_legacy_sql- Указывает, использовать ли для этого представления устаревшую SQL-синтаксис BigQuery.
user_defined_function_resources- Описание ресурсов пользовательских функций, используемых в запросе.
inline_code- Встроенный ресурс, содержащий код пользовательской функции (UDF). Предоставление встроенного кода равносильно предоставлению URI файла, содержащего тот же код.
resource_uri- Ресурс кода для загрузки из URI Google Cloud Storage (gs://bucket/path).
time_partitioning- Если указано, настраивает временное разбиение для этой таблицы.
expiration_ms- Количество миллисекунд, на которое необходимо сохранить хранилище для раздела.
field- Если не установлено, таблица разбивается по псевдостолбцу, обозначаемому либо ‘_PARTITIONTIME’ как тип TIMESTAMP, либо ‘_PARTITIONDATE’ как тип DATE. Если поле указано, таблица разбивается по этому полю. Поле должно быть типом TIMESTAMP или DATE верхнего уровня. Его режим должен быть NULLABLE или REQUIRED.
type- Поддерживается только тип DAY, который создаст один раздел на день.
Возможные значения:
- DAY
streaming_buffer- Содержит информацию о буфере потоковой передачи этой таблицы, если он присутствует. Это поле будет отсутствовать, если таблица не обрабатывается в потоковом режиме или если в буфере потоковой передачи нет данных.
estimated_bytes- Нижняя граница оценки количества байтов, которые в настоящее время находятся в буфере потоковой передачи.
estimated_rows- Нижняя граница оценки количества строк, которые в настоящее время находятся в буфере потоковой передачи.
oldest_entry_time- Содержит метку времени самого старого элемента в буфере потоковой передачи в миллисекундах с начала эпохи, если буфер потоковой передачи доступен.
schema- Описание схемы этой таблицы
fields- Описание полей в таблице.
description- Описание поля. Максимальная длина 1024 символа.
fields- Описание вложенных полей схемы, если свойство типа установлено в RECORD.
mode- Режим поля
Возможные значения:
- NULLABLE
- REQUIRED
- REPEATED
name- Имя поля
type- Тип данных поля
Возможные значения:
- STRING
- BYTES
- INTEGER
- FLOAT
- TIMESTAMP
- DATE
- TIME
- DATETIME
- RECORD
encryption_configuration- Настройка пользовательского шифрования
kms_key_name- Описание ключа шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Учетная запись службы BigQuery, связанная с вашим проектом, должна иметь доступ к этому ключу шифрования.
expiration_time- Время истечения срока действия этой таблицы в миллисекундах с начала эпохи. Если не указано, таблица будет существовать неопределенно.
external_data_configuration- Описание формата данных, расположения и других свойств таблицы, хранящейся вне BigQuery. Определяя эти свойства, источник данных может быть запрошен как обычная таблица BigQuery.
autodetect- Попытка автоматического определения схемы и параметров формата. Любой явно указанный параметр будет принят.
compression- Тип сжатия источника данных
Возможные значения:
- GZIP
- NONE
ignore_unknown_values- Указывает, разрешит ли BigQuery дополнительные значения, которые не представлены в схеме таблицы
max_bad_records- Максимальное количество плохих записей, которые BigQuery может игнорировать при чтении данных
source_format- Формат данных
Возможные значения:
- CSV
- GOOGLE_SHEETS
- NEWLINE_DELIMITED_JSON
- AVRO
- DATASTORE_BACKUP
- BIGTABLE
source_uris- Полные URI, указывающие на ваши данные в Google Cloud. Для URI Google Cloud Storage: Каждый URI может содержать один символ «*» в качестве подстановки, и он должен следовать за именем «bucket». Ограничения размера, связанные с задачами загрузки, применяются к внешним источникам данных. Для URI Google Cloud Bigtable: Может быть указан только один URI, и он должен быть полностью указанным и корректным HTTPS-URI для таблицы Google Cloud Bigtable. Для резервных копий Google Cloud Datastore может быть указан только один URI. Также символ «*» не разрешен.
schema- Схема данных. Схема необходима для форматов CSV и JSON
fields- Описание полей в таблице.
description- Описание поля
fields- Описание вложенных полей схемы, если свойство типа установлено в RECORD
mode- Режим поля. Возможные значения:
- NULLABLE
- REQUIRED
- REPEATED
name- Имя поля
type- Тип данных поля
Возможные значения:
- STRING
- BYTES
- INTEGER
- FLOAT
- TIMESTAMP
- DATE
- TIME
- DATETIME
- RECORD
google_sheets_options- Дополнительные параметры, если sourceFormat установлен в GOOGLE_SHEETS.
skip_leading_rows- Количество строк в верхней части Google Sheet, которое BigQuery пропустит при чтении данных.
csv_options- Дополнительные свойства для установки, если sourceFormat установлен в CSV.
allow_jagged_rows- Указывает, должен ли BigQuery принимать строки, у которых отсутствуют завершающие необязательные столбцы
allow_quoted_newlines- Указывает, должен ли BigQuery разрешать цитируемые разделы данных, которые содержат символы новой строки в файле CSV
encoding- Кодировка символов данных
Возможные значения:
- UTF-8
- ISO-8859-1
field_delimiter- Разделитель полей в файле CSV
quote- Значение, используемое для цитирования разделов данных в файле CSV
skip_leading_rows- Количество строк в верхней части файла CSV, которые BigQuery пропустит при чтении данных.
bigtable_options- Дополнительные параметры, если sourceFormat установлен в BIGTABLE.
ignore_unspecified_column_families- Если поле равно true, то семейства столбцов, которые не указаны в списке columnFamilies, не отображаются в схеме таблицы
read_rowkey_as_string- Если поле равно true, то семейства столбцов rowkey будут считываться и преобразованы в строку.
column_families- Список семейств столбцов для отображения в схеме таблицы вместе с их типами.
columns- Список столбцов, которые должны отображаться как отдельные поля вместо списка пар (имя столбца, значение).
encoding- Кодировка значений, когда тип не STRING
Возможные значения:
- TEXT
- BINARY
field_name- Если квалификатор не является допустимым идентификатором поля BigQuery, должен быть предоставлен допустимый идентификатор в качестве имени поля столбца, который используется в качестве имени поля в запросах.
only_read_latest- Если это установлено, отображаются только самые последние версии значений в этом столбце
qualifier_string- Квалификатор столбца
type- Тип для преобразования значения в ячейках этого столбца
Возможные значения:
- BYTES
- STRING
- INTEGER
- FLOAT
- BOOLEAN
encoding- Кодировка значений, когда тип не STRING
Возможные значения:
- TEXT
- BINARY
family_id- Идентификатор семейства столбцов.
only_read_latest- Если это установлено, для всех столбцов в этом семействе столбцов отображаются только самые последние версии значений
type- Тип для преобразования значения в ячейках этого семейства столбцов
Возможные значения:
- BYTES
- STRING
- INTEGER
- FLOAT
- BOOLEAN
dataset- Имя набора данных
Разрешения GCP
Убедитесь, что API BigQuery включён для текущего проекта.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_bigquery_table/