Ресурс 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- Уникальный идентификатор таблицы.
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-адресом для таблицы 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 API.
© 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/