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) 或下划线。最大长度为 1,024 个字符。 | |
| 如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。 | |
| 使用的凭据类型。 选项 
 | |
| 标识数据集的引用。 | |
| 此数据集的唯一 ID,不包含项目名称。ID 只能包含字母 (a-z, A-Z)、数字 (0-9) 或下划线。最大长度为 1,024 个字符。 | |
| 包含此数据集的项目的 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 
- 数据集简介: https://cloud.google.com/bigquery/docs/datasets-intro 
- 对于身份验证,您可以使用 - 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) 或下划线。最大长度为 1,024 个字符。 返回: 成功 | |
| 此数据集创建的时间(自纪元以来的毫秒数)。 返回: 成功 | |
| 标识数据集的引用。 返回: 成功 | |
| 此数据集的唯一 ID,不包含项目名称。ID 只能包含字母 (a-z, A-Z)、数字 (0-9) 或下划线。最大长度为 1,024 个字符。 返回: 成功 | |
| 包含此数据集的项目的 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`。 更改此设置会强制创建新的资源。 返回: 成功 | |
| 数据集名称。 返回: 成功 | 
