gcp_bigquery_dataset – Создаёт набор данных GCP
Новая версия с 2.8.
Обзор
- Наборы данных позволяют организовать и контролировать доступ к вашим таблицам.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| access список | Массив объектов, определяющих доступ к набору данных для одного или нескольких сущностей. | |||
| domain строка | Домен, для которого необходимо предоставить доступ. Любой пользователь, авторизованный с указанным доменом, получит указанный доступ. | |||
| group_by_email строка | Электронный адрес группы Google, для которой необходимо предоставить доступ. | |||
| role строка | Описывает права, предоставляемые пользователю, указанному в другом элементе объекта доступа. Поддерживаются базовые, предварительно определённые и пользовательские роли. Предварительно определённые роли, эквивалентные базовым ролям, будут преобразованы 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_partition_expiration_ms целое число добавлен в 2.9 | Срок действия по умолчанию для всех разделяемых по времени таблиц в наборе данных в миллисекундах. После установки этого свойства все вновь созданные таблицы с разбиением по времени в наборе данных будут иметь свойство `expirationMs` в настройках `timePartitioning`, установленное в это значение. Изменение значения повлияет только на новые таблицы, а не на существующие. Время хранения в разделе будет определяться временем раздела плюс это значение. Установка этого свойства переопределяет использование `defaultTableExpirationMs` для разделяемых по времени таблиц: только одно из `defaultTableExpirationMs` и `defaultPartitionExpirationMs` будет использоваться для любой новой разделяемой по времени таблицы. Если при создании или обновлении разделяемой по времени таблицы вы явно укажете `timePartitioning.expirationMs`, это значение будет иметь приоритет над значением по умолчанию, указанным в этом свойстве. | |||
| default_table_expiration_ms целое число | Срок существования всех таблиц в наборе данных по умолчанию в миллисекундах. Минимальное значение — 3600000 миллисекунд (один час). После установки этого свойства все вновь созданные таблицы в наборе данных будут иметь свойство `expirationTime`, установленное на время создания плюс значение в этом свойстве. Изменение значения повлияет только на новые таблицы, а не на существующие. После достижения времени истечения срока службы для данной таблицы, эта таблица будет автоматически удалена. Если время истечения срока службы таблицы изменяется или удаляется до истечения срока службы таблицы, или если вы явно указываете `expirationTime` при создании таблицы, это значение будет иметь приоритет над значением по умолчанию, указанным в этом свойстве. | |||
| description строка | Наглядное описание набора данных. | |||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не нужно устанавливать, если вы не знаете, что делаете. Это влияет только на строку User Agent для любых запросов к API. | |||
| friendly_name строка | Дескриптивное имя набора данных. | |||
| labels словарь | Метки, связанные с этим набором данных. Их можно использовать для организации и группирования наборов данных. | |||
| location строка | По умолчанию: "США" | Географическое местоположение, где должен находиться набор данных. См. [официальную документацию](https://cloud.google.com/bigquery/docs/dataset-locations). Существуют два типа местоположений: региональные и многорегиональные. Региональное местоположение — это конкретное географическое место, например, Токио, а многорегиональное местоположение — это большая географическая зона, например, Соединенные Штаты, которая содержит как минимум два географических места. Возможные региональные значения: `asia-east1`, `asia-northeast1`, `asia-southeast1`, `australia-southeast1`, `europe-north1`, `europe-west2` и `us-east4`. Возможные многорегиональные значения: `ЕС` и `США`. Значение по умолчанию — многорегиональное местоположение `США`. Изменение этого значения заставляет создать новый ресурс. | ||
| name строка | Имя набора данных. | |||
| project строка | Проект Google Cloud Platform, который нужно использовать. | |||
| scopes список | Массив используемых областей. | |||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, представленное либо в словаре, либо как строка JSON. | |||
| service_account_email строка | Необязательный электронный адрес учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. | |||
| state строка |
| Должен ли данный объект существовать в GCP | ||
Примечания
Примечание
- для аутентификации можно установить service_account_file с помощью переменной среды c(gcp_service_account_file).
- для аутентификации можно установить service_account_contents с помощью переменной среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
- Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a dataset
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 | Описывает права, предоставляемые пользователю, указанному в другом члене объекта доступа. Поддерживаются базовые, предварительно определенные и пользовательские роли. Предварительно определенные роли, имеющие эквивалентные базовые роли, заменяются 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 | Идентификатор проекта, содержащего этот набор данных. | ||
| defaultPartitionExpirationMs integer | success | Срок действия по умолчанию для всех разделяемых по частям таблиц в наборе данных в миллисекундах. После установки этого свойства все новые таблицы, разделяемые по частям, в наборе данных будут иметь свойство `expirationMs` в настройках `timePartitioning`, установленное на это значение, и изменение значения повлияет только на новые таблицы, а не на существующие. Время хранения в разделе будет истекать через время раздела плюс это значение. Установка этого свойства переопределяет использование `defaultTableExpirationMs` для разделяемых по частям таблиц: для каждой новой разделяемой по частям таблицы будет использоваться только одно из свойств `defaultTableExpirationMs` и `defaultPartitionExpirationMs`. Если при создании или обновлении разделяемой по частям таблицы задается явное значение `timePartitioning.expirationMs`, это значение имеет приоритет над значением срока действия раздела по умолчанию, указанным в данном свойстве. | ||
| defaultTableExpirationMs integer | success | Срок службы по умолчанию всех таблиц в наборе данных в миллисекундах. Минимальное значение составляет 3600000 миллисекунд (один час). После установки этого свойства все новые таблицы в наборе данных будут иметь свойство `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 | Имя набора данных. | ||
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/gcp_bigquery_dataset_module.html