google.cloud.gcp_bigquery_dataset – Создаёт набор данных GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Чтобы использовать его в книге задач, укажите: google.cloud.gcp_bigquery_dataset.
Описание
- Наборы данных позволяют организовать и контролировать доступ к вашим таблицам.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| access список / элементы=словарь | Массив объектов, определяющих доступ к набору данных для одного или нескольких объектов. | |||
| domain строка | Домен, которому предоставляется доступ. Все пользователи, авторизованные с указанным доменом, получат указанный доступ. | |||
| group_by_email строка | Электронный адрес группы Google, которой предоставляется доступ. | |||
| role строка | Описывает права, предоставленные пользователю, указанному в другом элементе объекта access. Поддерживаются базовые, предопределённые и пользовательские роли. Предопределённые роли, имеющие эквивалентные базовые роли, меняются API на свои базовые аналоги. См. [официальную документацию](https://cloud.google.com/bigquery/docs/access-control). | |||
| special_group строка | Особая группа, которой предоставляется доступ. Возможные значения включают: * `projectOwners`: Владельцы проекта. * `projectReaders`: Читатели проекта. * `projectWriters`: Писатели проекта. * `allAuthenticatedUsers`: Все авторизованные пользователи BigQuery. | |||
| user_by_email строка | Электронный адрес пользователя, которому предоставляется доступ. Например: fred@example.com. | |||
| view словарь | Вид из другого набора данных, которому предоставляется доступ. Запросы, выполняемые против этого вида, будут иметь права чтения к таблицам в этом наборе данных. Поле role не требуется, когда это поле установлено. Если этот вид обновляется любым пользователем, доступ к виду необходимо предоставить снова с помощью операции обновления. | |||
| dataset_id строка / обязательно | Идентификатор набора данных, содержащего эту таблицу. | |||
| project_id строка / обязательно | Идентификатор проекта, содержащего эту таблицу. | |||
| table_id строка / обязательно | Идентификатор таблицы. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчеркивания. Максимальная длина — 1024 символа. | |||
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | ||
| dataset_reference словарь / обязательно | Ссылка, определяющая набор данных. | |||
| dataset_id строка / обязательно | Уникальный идентификатор этого набора данных без имени проекта. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчеркивания. Максимальная длина — 1024 символа. | |||
| project_id строка | Идентификатор проекта, содержащего этот набор данных. | |||
| default_encryption_configuration словарь | Ключ шифрования по умолчанию для всех таблиц в наборе данных. После установки этого свойства все новые таблицы, созданные в наборе данных, будут иметь ключ шифрования установленным в это значение, за исключением случаев, когда запрос создания таблицы (или запрос) переопределяет ключ. | |||
| kms_key_name строка / обязательно | Описывает ключ шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Учетная запись сервиса BigQuery, связанная с вашим проектом, должна иметь доступ к этому ключу шифрования. | |||
| default_partition_expiration_ms целое число | Срок действия разбиения по умолчанию для всех разбиений таблиц в наборе данных в миллисекундах. После установки этого свойства все новые разбиения таблиц в наборе данных будут иметь свойство `expirationMs` в настройках `timePartitioning`, установленное в это значение, и изменение значения будет влиять только на новые таблицы, а не на существующие. Хранение в разбиении будет иметь срок действия по времени разбиения плюс это значение. Установка этого свойства переопределяет использование `defaultTableExpirationMs` для разбиений таблиц: только одно из `defaultTableExpirationMs` и `defaultPartitionExpirationMs` будет использоваться для любой новой разбиения таблицы. Если при создании или обновлении разбиения таблицы явно задаётся `timePartitioning.expirationMs`, это значение имеет приоритет над временем действия разбиения по умолчанию, указанным в этом свойстве. | |||
| default_table_expiration_ms целое число | Срок действия по умолчанию всех таблиц в наборе данных в миллисекундах. Минимальное значение — 3600000 миллисекунд (один час). После установки этого свойства все новые таблицы в наборе данных будут иметь свойство `expirationTime`, установленное на время создания плюс значение в этом свойстве, а изменение значения будет влиять только на новые таблицы, а не на существующие. Когда `expirationTime` для данной таблицы достигает значения, эта таблица автоматически удаляется. Если `expirationTime` таблицы изменяется или удаляется до истечения срока действия таблицы, или если при создании таблицы явно задаётся `expirationTime`, это значение имеет приоритет над временем действия по умолчанию, указанным в этом свойстве. | |||
| description строка | Наглядное описание набора данных. | |||
| env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Это не должно быть установлено, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов API. | |||
| friendly_name строка | Дескриптивное имя для набора данных. | |||
| labels словарь | Метки, связанные с этим набором данных. Вы можете использовать их для организации и группировки наборов данных. | |||
| location строка | По умолчанию: "US" | Географическое местоположение, где должен располагаться набор данных. См. [официальную документацию](https://cloud.google.com/bigquery/docs/dataset-locations). Существуют два типа местоположений: региональные и многорегиональные. Региональное местоположение — это конкретное географическое место, такое как Токио, а многорегиональное местоположение — это большая географическая область, такая как Соединённые Штаты, содержащая не менее двух географических мест. Возможные региональные значения включают: `asia-east1`, `asia-northeast1`, `asia-southeast1`, `australia-southeast1`, `europe-north1`, `europe-west2` и `us-east4`. Возможные значения многорегионального типа: `EU` и `US`. Значение по умолчанию — многорегиональное местоположение `US`. Изменение этого значения заставляет создать новый ресурс. | ||
| name строка | Имя набора данных. | |||
| project строка | Проект Google Cloud Platform, который нужно использовать. | |||
| scopes список / элементы=строка | Массив используемых областей. | |||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, представленное либо в виде словаря, либо в виде строки JSON. | |||
| service_account_email строка | Дополнительный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. | |||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если тип выбран как serviceaccount. | |||
| state строка |
| Нужно ли существование данного объекта в 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. - Для аутентификации можно установить 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 | success | Массив объектов, определяющих доступ к набору данных для одного или нескольких объектов. | ||
| domain string | success | Домен, которому предоставляется доступ. Любые пользователи, авторизованные в указанном домене, получат указанный доступ. | ||
| groupByEmail string | success | Электронный адрес группы Google, которому предоставляется доступ. | ||
| role string | success | Описание прав, предоставленных пользователю, указанному в другом члене объекта access. Поддерживаются базовые, предопределенные и пользовательские роли. Предопределенные роли, имеющие эквивалентные базовые роли, меняются API на свои базовые аналоги. См. [официальную документацию](https://cloud.google.com/bigquery/docs/access-control). | ||
| specialGroup string | success | Специальная группа, которой предоставляется доступ. Возможные значения включают: * `projectOwners`: Владельцы проекта. * `projectReaders`: Читатели проекта. * `projectWriters`: Пишущие в проект. * `allAuthenticatedUsers`: Все авторизованные пользователи BigQuery. | ||
| userByEmail string | success | Электронный адрес пользователя, которому предоставляется доступ. Например: fred@example.com. | ||
| view complex | success | Представление из другого набора данных, которому предоставляется доступ. Запросы, выполненные к этому представлению, будут иметь права чтения к таблицам в этом наборе данных. Поле role не требуется, когда установлено это поле. Если это представление обновляется любым пользователем, доступ к представлению необходимо предоставить заново посредством операции обновления. | ||
| datasetId string | success | Идентификатор набора данных, содержащего эту таблицу. | ||
| projectId string | success | Идентификатор проекта, содержащего эту таблицу. | ||
| tableId string | success | Идентификатор таблицы. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или подчеркивания. Максимальная длина составляет 1024 символа. | ||
| creationTime integer | success | Время создания этого набора данных в миллисекундах с начала эпохи. | ||
| datasetReference complex | success | Ссылка, идентифицирующая набор данных. | ||
| datasetId string | success | Уникальный идентификатор этого набора данных без имени проекта. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или подчеркивания. Максимальная длина составляет 1024 символа. | ||
| projectId string | success | Идентификатор проекта, содержащего этот набор данных. | ||
| defaultEncryptionConfiguration complex | success | Ключ шифрования по умолчанию для всех таблиц в наборе данных. После установки этого свойства все вновь созданные разнесенные таблицы в наборе данных будут иметь ключ шифрования, установленный в это значение, если запрос на создание таблицы (или запрос) не переопределит ключ. | ||
| kmsKeyName string | success | Описание ключа шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Учетная запись службы BigQuery, связанная с вашим проектом, должна иметь доступ к этому ключу шифрования. | ||
| defaultPartitionExpirationMs integer | success | Срок действия разбиения по умолчанию для всех разнесенных таблиц в наборе данных в миллисекундах. После установки этого свойства все вновь созданные разнесенные таблицы в наборе данных будут иметь свойство `expirationMs` в настройках `timePartitioning`, установленное в это значение, и изменение значения повлияет только на новые таблицы, а не на существующие. Хранение в разделе будет иметь срок действия, равный времени разбиения этого раздела плюс это значение. Установка этого свойства переопределяет использование `defaultTableExpirationMs` для разнесенных таблиц: только одно из `defaultTableExpirationMs` и `defaultPartitionExpirationMs` будет использоваться для любой новой разнесенной таблицы. Если при создании или обновлении разнесенной таблицы вы явно укажете `timePartitioning.expirationMs`, это значение будет иметь приоритет над сроком действия разбиения по умолчанию, указанным в этом свойстве. | ||
| defaultTableExpirationMs integer | success | Срок службы всех таблиц в наборе данных в миллисекундах. Минимальное значение составляет 3600000 миллисекунд (один час). После установки этого свойства все вновь созданные таблицы в наборе данных будут иметь свойство `expirationTime`, установленное на время создания плюс значение в этом свойстве, и изменение значения повлияет только на новые таблицы, а не на существующие. Когда достигается `expirationTime` для данной таблицы, эта таблица автоматически удаляется. Если время истечения срока действия таблицы изменяется или удаляется до истечения срока действия таблицы, или если при создании таблицы вы явно укажете `expirationTime`, это значение будет иметь приоритет над сроком действия по умолчанию, указанным в этом свойстве. | ||
| description string | success | Наглядное описание набора данных. | ||
| etag string | success | Хэш ресурса. | ||
| friendlyName string | success | Дескриптивное имя набора данных. | ||
| id string | success | Полное уникальное имя набора данных в формате projectId:datasetId. Имя набора данных без имени проекта указано в поле datasetId. | ||
| labels dictionary | success | Метки, связанные с этим набором данных. Вы можете использовать их для организации и группировки наборов данных. | ||
| lastModifiedTime integer | success | Дата последнего изменения этого набора данных или любой из его таблиц в миллисекундах с начала эпохи. | ||
| location string | success | Географическое местоположение, в котором должен находиться набор данных. См. [официальную документацию](https://cloud.google.com/bigquery/docs/dataset-locations). Существуют два типа местоположений: региональные и многорегиональные. Региональное местоположение — это конкретное географическое место, например, Токио, а многорегиональное местоположение — это большая географическая область, например, Соединенные Штаты, содержащая не менее двух географических мест. Возможные региональные значения включают: `asia-east1`, `asia-northeast1`, `asia-southeast1`, `australia-southeast1`, `europe-north1`, `europe-west2` и `us-east4`. Возможные многорегиональные значения: `EU` и `US`. Значение по умолчанию — многорегиональное расположение `US`. Изменение этого значения заставляет создать новый ресурс. | ||
| name string | success | Имя набора данных. | ||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_bigquery_dataset_module.html