google.cloud.gcp_bigquery_dataset 模块 – 创建 GCP 数据集
注意
此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install google.cloud
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:google.cloud.gcp_bigquery_dataset
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将在 Ansible 12 中删除。该集合存在 未解决的完整性测试失败。有关更多信息,请参阅 讨论主题。
概要
数据集允许您组织和控制对表的访问。
要求
执行此模块的主机需要以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
定义一个或多个实体的数据集访问权限的对象数组。 |
|
授予访问权限的域。使用指定的域登录的任何用户都将被授予指定的访问权限。 |
|
要授予访问权限的 Google 群组的电子邮件地址。 |
|
描述授予由 access 对象的其他成员指定的用户的权限。支持基本角色、预定义角色和自定义角色。API 将具有等效基本角色的预定义角色替换为其基本角色。请参阅 [官方文档] (https://cloud.google.com/bigquery/docs/access-control)。 |
|
要授予访问权限的特殊组。可能的值包括:* `projectOwners`:封闭项目的拥有者。 * `projectReaders`:封闭项目的阅读者。 * `projectWriters`:封闭项目的写入者。 * `allAuthenticatedUsers`:所有经过身份验证的 BigQuery 用户。 |
|
要授予访问权限的用户的电子邮件地址。例如:fred@example.com。 |
|
来自不同数据集的视图,以授予对其的访问权限。针对该视图执行的查询将对该数据集中的表具有读取访问权限。设置此字段时,不需要 role 字段。如果该视图被任何用户更新,则需要通过更新操作再次授予对该视图的访问权限。 |
|
包含此表的集的数据集 ID。 |
|
包含此表的项目的 ID。 |
|
表的 ID。ID 只能包含字母 (a-z、A-Z)、数字 (0-9) 或下划线。最大长度为 1024 个字符。 |
|
如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
使用的凭据类型。 选项
|
|
标识数据集的引用。 |
|
此数据集的唯一 ID,不包含项目名称。ID 只能包含字母 (a-z、A-Z)、数字 (0-9) 或下划线。最大长度为 1024 个字符。 |
|
包含此数据集的项目的 ID。 |
|
数据集所有表默认加密密钥。设置此属性后,数据集所有新创建的分区表都将加密密钥设置为该值,除非表创建请求(或查询)覆盖该密钥。 |
|
描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务帐户需要访问此加密密钥。 |
|
数据集所有分区表的默认分区过期时间(以毫秒为单位)。 设置此属性后,数据集所有新创建的分区表都将在 `timePartitioning` 设置中具有 `expirationMs` 属性,该属性设置为该值,并且更改该值只会影响新表,而不会影响现有表。分区中的存储将具有分区时间加上此值的过期时间。 设置此属性会覆盖对分区表使用 `defaultTableExpirationMs`:对于任何新的分区表,都只会使用 `defaultTableExpirationMs` 或 `defaultPartitionExpirationMs` 中的一个。如果您在创建或更新分区表时提供显式的 `timePartitioning.expirationMs`,则该值将优先于此属性指示的默认分区过期时间。 |
|
数据集所有表的默认生命周期(以毫秒为单位)。 最小值为 3600000 毫秒(一小时)。 设置此属性后,数据集所有新创建的表都将 `expirationTime` 属性设置为创建时间加上此属性中的值,并且更改该值只会影响新表,而不会影响现有表。当给定表的 `expirationTime` 到达时,该表将自动删除。 如果表的`expirationTime`在表过期前被修改或删除,或者在创建表时提供显式的`expirationTime`,则该值优先于此属性指示的默认过期时间。 |
|
数据集的用户友好型描述。 |
|
指定您在哪个 Ansible 环境中运行此模块。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的用户代理字符串。 |
|
数据集的描述性名称。 |
|
与此数据集关联的标签。您可以使用这些标签来组织和分组您的数据集。 |
|
数据集应驻留的地理位置。 参见[官方文档](https://cloud.google.com/bigquery/docs/dataset-locations). 有两种类型的地理位置:区域位置和多区域位置。区域位置是特定的地理位置,例如东京;多区域位置是包含至少两个地理位置的大型地理区域,例如美国。 默认值为多区域位置`US`。 更改此设置将强制创建新的资源。 默认值: |
|
数据集名称。 |
|
要使用的 Google Cloud Platform 项目。 |
|
要使用的作用域数组 |
|
服务帐号 JSON 文件的内容,可以是字典,也可以是表示它的 JSON 字符串。 |
|
如果选择 machineaccount 并且用户不希望使用默认电子邮件,则可以使用可选的服务帐号电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐号 JSON 文件的路径。 |
|
给定对象是否应该存在于 GCP 中 选项
|
备注
注意
API 参考:https://cloud.google.com/bigquery/docs/reference/rest/v2/datasets
对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_FILE
环境变量设置 service_account_file。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_CONTENTS
环境变量设置 service_account_contents。对于身份验证,您可以使用
GCP_SERVICE_ACCOUNT_EMAIL
环境变量设置 service_account_email。对于身份验证,您可以使用
GCP_ACCESS_TOKEN
环境变量设置 access_token。对于身份验证,您可以使用
GCP_AUTH_KIND
环境变量设置 auth_kind。对于身份验证,您可以使用
GCP_SCOPES
环境变量设置 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
返回值
常见的返回值已在 此处 记录,以下是此模块独有的字段
键 |
描述 |
---|---|
定义一个或多个实体的数据集访问权限的对象数组。 返回:成功 |
|
授予访问权限的域。使用指定的域登录的任何用户都将被授予指定的访问权限。 返回:成功 |
|
要授予访问权限的 Google 群组的电子邮件地址。 返回:成功 |
|
描述授予由 access 对象的其他成员指定的用户的权限。支持基本角色、预定义角色和自定义角色。API 将具有等效基本角色的预定义角色替换为其基本角色。请参阅 [官方文档] (https://cloud.google.com/bigquery/docs/access-control)。 返回:成功 |
|
要授予访问权限的特殊组。可能的值包括:* `projectOwners`:封闭项目的拥有者。 * `projectReaders`:封闭项目的阅读者。 * `projectWriters`:封闭项目的写入者。 * `allAuthenticatedUsers`:所有经过身份验证的 BigQuery 用户。 返回:成功 |
|
要授予访问权限的用户的电子邮件地址。例如:fred@example.com。 返回:成功 |
|
来自不同数据集的视图,以授予对其的访问权限。针对该视图执行的查询将对该数据集中的表具有读取访问权限。设置此字段时,不需要 role 字段。如果该视图被任何用户更新,则需要通过更新操作再次授予对该视图的访问权限。 返回:成功 |
|
包含此表的集的数据集 ID。 返回:成功 |
|
包含此表的项目的 ID。 返回:成功 |
|
表的 ID。ID 只能包含字母 (a-z、A-Z)、数字 (0-9) 或下划线。最大长度为 1024 个字符。 返回:成功 |
|
创建此数据集的时间(以自纪元以来的毫秒数表示)。 返回:成功 |
|
标识数据集的引用。 返回:成功 |
|
此数据集的唯一 ID,不包含项目名称。ID 只能包含字母 (a-z、A-Z)、数字 (0-9) 或下划线。最大长度为 1024 个字符。 返回:成功 |
|
包含此数据集的项目的 ID。 返回:成功 |
|
数据集所有表默认加密密钥。设置此属性后,数据集所有新创建的分区表都将加密密钥设置为该值,除非表创建请求(或查询)覆盖该密钥。 返回:成功 |
|
描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务帐户需要访问此加密密钥。 返回:成功 |
|
数据集所有分区表的默认分区过期时间(以毫秒为单位)。 设置此属性后,数据集所有新创建的分区表都将在 `timePartitioning` 设置中具有 `expirationMs` 属性,该属性设置为该值,并且更改该值只会影响新表,而不会影响现有表。分区中的存储将具有分区时间加上此值的过期时间。 设置此属性会覆盖对分区表使用 `defaultTableExpirationMs`:对于任何新的分区表,都只会使用 `defaultTableExpirationMs` 或 `defaultPartitionExpirationMs` 中的一个。如果您在创建或更新分区表时提供显式的 `timePartitioning.expirationMs`,则该值将优先于此属性指示的默认分区过期时间。 返回:成功 |
|
数据集所有表的默认生命周期(以毫秒为单位)。 最小值为 3600000 毫秒(一小时)。 设置此属性后,数据集所有新创建的表都将 `expirationTime` 属性设置为创建时间加上此属性中的值,并且更改该值只会影响新表,而不会影响现有表。当给定表的 `expirationTime` 到达时,该表将自动删除。 如果表的`expirationTime`在表过期前被修改或删除,或者在创建表时提供显式的`expirationTime`,则该值优先于此属性指示的默认过期时间。 返回:成功 |
|
数据集的用户友好型描述。 返回:成功 |
|
资源的哈希值。 返回:成功 |
|
数据集的描述性名称。 返回:成功 |
|
数据集的完全限定唯一名称,格式为 projectId:datasetId。不包含项目名称的数据集名称在 datasetId 字段中给出。 返回:成功 |
|
与此数据集关联的标签。您可以使用这些标签来组织和分组您的数据集。 返回:成功 |
|
最后修改此数据集或其任何表的时间(以自纪元以来的毫秒数表示)。 返回:成功 |
|
数据集应驻留的地理位置。 参见[官方文档](https://cloud.google.com/bigquery/docs/dataset-locations). 有两种类型的地理位置:区域位置和多区域位置。区域位置是特定的地理位置,例如东京;多区域位置是包含至少两个地理位置的大型地理区域,例如美国。 默认值为多区域位置`US`。 更改此设置将强制创建新的资源。 返回:成功 |
|
数据集名称。 返回:成功 |