модуль google.cloud.gcp_bigquery_dataset — создание набора данных GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в playbook, укажите: google.cloud.gcp_bigquery_dataset.
Краткое описание
- Наборы данных позволяют упорядочивать таблицы и управлять доступом к ним.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access list / elements=dictionary | Массив объектов, определяющих доступ к набору данных для одной или нескольких сущностей. |
|
domain string |
Домен, которому предоставляется доступ. Всем пользователям, вошедшим в систему с указанным доменом, будет предоставлен указанный доступ. |
|
group_by_email string |
Адрес электронной почты группы Google, которой предоставляется доступ. |
|
role string |
Описывает права, предоставляемые пользователю, указанному другим элементом объекта access. Поддерживаются базовые, предопределённые и пользовательские роли. Предопределённые роли, эквивалентные базовым, API заменяет соответствующими базовыми ролями. См. [официальную документацию](https://cloud.google.com/bigquery/docs/access-control). |
|
special_group string |
Специальная группа, которой предоставляется доступ. Возможные значения: * `projectOwners`: владельцы родительского проекта. * `projectReaders`: читатели родительского проекта. * `projectWriters`: авторы родительского проекта. * `allAuthenticatedUsers`: все аутентифицированные пользователи BigQuery. |
|
user_by_email string |
Адрес электронной почты пользователя, которому предоставляется доступ. Например: fred@example.com. |
|
view dictionary |
Представление из другого набора данных, которому предоставляется доступ. Запросы, выполняемые к этому представлению, получат доступ на чтение к таблицам в данном наборе данных. Если задано это поле, поле role не требуется. Если представление будет обновлено любым пользователем, доступ к нему необходимо будет предоставить повторно с помощью операции обновления. |
|
dataset_id string / обязательный |
Идентификатор набора данных, содержащего эту таблицу. |
|
project_id string / обязательный |
Идентификатор проекта, содержащего эту таблицу. |
|
table_id string / обязательный |
Идентификатор таблицы. Идентификатор может содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчёркивания. Максимальная длина — 1 024 символа. |
access_token string | Токен доступа OAuth2, если тип учётных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учётных данных. Варианты:
|
dataset_reference dictionary / обязательный | Ссылка, идентифицирующая набор данных. |
|
dataset_id string / обязательный |
Уникальный идентификатор этого набора данных без имени проекта. Идентификатор может содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчёркивания. Максимальная длина — 1 024 символа. |
|
project_id string |
Идентификатор проекта, содержащего этот набор данных. |
default_encryption_configuration dictionary | Ключ шифрования по умолчанию для всех таблиц в наборе данных. После задания этого свойства для всех вновь создаваемых секционированных таблиц в наборе данных будет установлен этот ключ шифрования, если только запрос на создание таблицы (или запрос) не переопределит его. |
|
kms_key_name string / обязательный |
Задает ключ шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Сервисному аккаунту BigQuery, связанному с вашим проектом, необходим доступ к этому ключу шифрования. |
default_partition_expiration_ms integer | Срок действия секций по умолчанию для всех секционированных таблиц в наборе данных, в миллисекундах. После задания этого свойства для всех вновь создаваемых секционированных таблиц в наборе данных в настройках `timePartitioning` будет задано свойство `expirationMs` со значением этого параметра. Изменение значения повлияет только на новые таблицы, но не на существующие. Данные в секции будут храниться до истечения срока, равного времени секционирования плюс это значение. Задание этого свойства переопределяет использование `defaultTableExpirationMs` для секционированных таблиц: для любой новой секционированной таблицы будет использоваться только одно из значений — `defaultTableExpirationMs` или `defaultPartitionExpirationMs`. Если при создании или обновлении секционированной таблицы явно указать `timePartitioning.expirationMs`, это значение будет иметь приоритет над сроком действия секции по умолчанию, заданным этим свойством. |
default_table_expiration_ms integer | Срок хранения по умолчанию для всех таблиц в наборе данных, в миллисекундах. Минимальное значение — 3600000 миллисекунд (один час). После задания этого свойства для всех вновь создаваемых таблиц в наборе данных будет установлено свойство `expirationTime`, равное времени создания плюс значение этого свойства. Изменение значения повлияет только на новые таблицы, но не на существующие. По достижении значения `expirationTime` данная таблица будет удалена автоматически. Если значение `expirationTime` таблицы изменить или удалить до истечения срока действия либо при создании таблицы указать `expirationTime` явно, это значение будет иметь приоритет над сроком действия по умолчанию, заданным этим свойством. |
description string | Понятное пользователю описание набора данных. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте этот параметр, если не уверены в своих действиях. Он изменяет только строку User Agent для любых запросов к API. |
friendly_name string | Понятное описание набора данных. |
labels dictionary | Метки, связанные с этим набором данных. С их помощью можно упорядочивать наборы данных и группировать их. |
location string | Географическое расположение набора данных. См. [официальную документацию](https://cloud.google.com/bigquery/docs/dataset-locations). Существуют два типа расположения: региональное и мульти региональное. Региональное расположение — это конкретное географическое место, например Токио, а мульти региональное — большая географическая область, например США, включающая как минимум два географических места. По умолчанию используется мульти региональное расположение `US`. Изменение этого параметра приводит к созданию нового ресурса. По умолчанию: |
name string | Имя набора данных. |
project string | Проект Google Cloud Platform, который будет использоваться. |
scopes list / elements=string | Массив областей доступа для использования |
service_account_contents jsonarg | Содержимое JSON-файла сервисного аккаунта в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты сервисного аккаунта, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбран serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
Примечания
Примечание
- Справочник API: https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets
- Введение в наборы данных: https://cloud.google.com/bigquery/docs/datasets-intro
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться, только если значения не заданы в playbook.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a dataset
google.cloud.gcp_bigquery_dataset:
name: my_example_dataset
dataset_reference:
dataset_id: my_example_dataset
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
access complex | Массив объектов, определяющих доступ к набору данных для одной или нескольких сущностей. Возвращается: при успешном выполнении |
|
domain string |
Домен, которому предоставляется доступ. Всем пользователям, вошедшим в систему с указанным доменом, будет предоставлен указанный доступ. Возвращается: при успешном выполнении |
|
groupByEmail string |
Адрес электронной почты группы Google, которой предоставляется доступ. Возвращается: при успешном выполнении |
|
role string |
Описывает права, предоставляемые пользователю, указанному в другом поле объекта access. Поддерживаются базовые, предопределенные и пользовательские роли. Предопределенные роли, имеющие эквивалентные базовые роли, API заменяет соответствующими базовыми ролями. См. [официальную документацию](https://cloud.google.com/bigquery/docs/access-control). Возвращается: при успешном выполнении |
|
specialGroup string |
Специальная группа, которой предоставляется доступ. Возможные значения: * `projectOwners`: владельцы родительского проекта. * `projectReaders`: читатели родительского проекта. * `projectWriters`: авторы родительского проекта. * `allAuthenticatedUsers`: все аутентифицированные пользователи BigQuery. Возвращается: при успешном выполнении |
|
userByEmail string |
Адрес электронной почты пользователя, которому предоставляется доступ. Например: fred@example.com . Возвращается: при успешном выполнении |
|
view complex |
Представление из другого набора данных, которому предоставляется доступ. Запросы, выполняемые к этому представлению, получат доступ на чтение к таблицам в этом наборе данных. Если задано это поле, поле role не требуется. Если представление будет обновлено любым пользователем, доступ к нему необходимо предоставить повторно с помощью операции обновления. Возвращается: при успешном выполнении |
|
datasetId string |
Идентификатор набора данных, содержащего эту таблицу. Возвращается: при успешном выполнении |
|
projectId string |
Идентификатор проекта, содержащего эту таблицу. Возвращается: при успешном выполнении |
|
tableId string |
Идентификатор таблицы. Он может содержать только буквы (a-z, A-Z), цифры (0-9) и символы подчеркивания. Максимальная длина — 1 024 символа. Возвращается: при успешном выполнении |
creationTime integer | Время создания этого набора данных в миллисекундах с начала эпохи. Возвращается: при успешном выполнении |
datasetReference complex | Ссылка, идентифицирующая набор данных. Возвращается: при успешном выполнении |
|
datasetId string |
Уникальный идентификатор этого набора данных без имени проекта. Он может содержать только буквы (a-z, A-Z), цифры (0-9) и символы подчеркивания. Максимальная длина — 1 024 символа. Возвращается: при успешном выполнении |
|
projectId string |
Идентификатор проекта, содержащего этот набор данных. Возвращается: при успешном выполнении |
defaultEncryptionConfiguration complex | Ключ шифрования по умолчанию для всех таблиц в наборе данных. После задания этого свойства для всех вновь создаваемых секционированных таблиц в наборе данных будет установлен этот ключ шифрования, если только запрос на создание таблицы (или запрос) не переопределит ключ. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Описывает ключ шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Связанной с вашим проектом служебной учетной записи BigQuery необходим доступ к этому ключу шифрования. Возвращается: при успешном выполнении |
defaultPartitionExpirationMs integer | Срок действия секций по умолчанию для всех секционированных таблиц в наборе данных, в миллисекундах. После задания этого свойства для всех вновь создаваемых секционированных таблиц в наборе данных в параметрах `timePartitioning` будет установлено свойство `expirationMs` с этим значением. Изменение значения повлияет только на новые таблицы, но не на существующие. Срок хранения данных в секции истечет через заданное значение после времени создания этой секции. Задание этого свойства переопределяет использование `defaultTableExpirationMs` для секционированных таблиц: для каждой новой секционированной таблицы будет использоваться только одно из свойств — `defaultTableExpirationMs` или `defaultPartitionExpirationMs`. Если при создании или обновлении секционированной таблицы явно задано значение `timePartitioning.expirationMs`, оно имеет приоритет над сроком действия секции по умолчанию, заданным этим свойством. Возвращается: при успешном выполнении |
defaultTableExpirationMs integer | Срок действия по умолчанию для всех таблиц в наборе данных, в миллисекундах. Минимальное значение — 3600000 миллисекунд (один час). После задания этого свойства для всех вновь создаваемых таблиц в наборе данных будет установлено свойство `expirationTime`, равное времени создания плюс значение этого свойства. Изменение значения повлияет только на новые таблицы, но не на существующие. По достижении значения `expirationTime` таблица будет автоматически удалена. Если значение `expirationTime` таблицы изменено или удалено до истечения срока ее действия либо при создании таблицы явно задано значение `expirationTime`, оно имеет приоритет над сроком действия по умолчанию, заданным этим свойством. Возвращается: при успешном выполнении |
description string | Удобное для пользователя описание набора данных. Возвращается: при успешном выполнении |
etag string | Хеш ресурса. Возвращается: при успешном выполнении |
friendlyName string | Описательное имя набора данных. Возвращается: при успешном выполнении |
id string | Полное уникальное имя набора данных в формате projectId:datasetId. Имя набора данных без имени проекта указано в поле datasetId. Возвращается: при успешном выполнении |
labels dictionary | Метки, связанные с этим набором данных. Их можно использовать для упорядочивания и группировки наборов данных. Возвращается: при успешном выполнении |
lastModifiedTime integer | Дата последнего изменения этого набора данных или любой из его таблиц в миллисекундах с начала эпохи. Возвращается: при успешном выполнении |
location string | Географическое расположение, в котором должен находиться набор данных. См. [официальную документацию](https://cloud.google.com/bigquery/docs/dataset-locations). Существуют два типа расположения: региональное и мульти-региональное. Региональное расположение — это конкретное географическое место, например Токио, а мульти-региональное — обширная географическая область, например США, включающая как минимум два географических места. По умолчанию используется мульти-региональное расположение `US`. Изменение этого значения приводит к созданию нового ресурса. Возвращается: при успешном выполнении |
name string | Имя набора данных. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_bigquery_dataset_module.html