google.cloud.gcp_bigquery_table 模块 – 创建 GCP 表格

注意

此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install google.cloud。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:google.cloud.gcp_bigquery_table

注意

由于违反了 Ansible 包含要求,google.cloud 集合将在 Ansible 12 中移除。该集合存在 未解决的完整性测试失败。有关更多信息,请参阅 讨论主题

概要

  • 属于数据集的表格。

要求

执行此模块的主机需要以下要求。

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

字符串

如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。

auth_kind

字符串 / 必需

使用的凭据类型。

选项

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

clustering

列表 / 元素=字符串

应在其上对数据进行聚类的一个或多个字段。仅支持顶级、非重复的简单类型字段。当您使用多个列对表进行聚类时,指定的列的顺序很重要。指定的列的顺序决定数据的排序顺序。

dataset

字符串

数据集的名称。

description

字符串

数据集的用户友好型描述。

encryption_configuration

字典

自定义加密配置。

kms_key_name

字符串

描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务帐号需要访问此加密密钥。

env_type

字符串

指定您在此模块中运行的 Ansible 环境。

除非您知道自己在做什么,否则不应设置此项。

这只会更改任何 API 请求的用户代理字符串。

expiration_time

整数

此表到期的时间(以自纪元以来的毫秒数表示)。如果不存在,则表将无限期保留。

external_data_configuration

字典

描述存储在 BigQuery 之外的表的格式、位置和其他属性。通过定义这些属性,可以像查询标准 BigQuery 表一样查询数据源。

autodetect

布尔值

尝试自动检测模式和格式选项。任何显式指定的选项都将被遵守。

选项

  • false

  • true

bigtable_options

字典

如果 sourceFormat 设置为 BIGTABLE,则为附加选项。

column_families

列表 / 元素=字典

要公开在表模式中以及它们的类型的列族的列表。

columns

列表 / 元素=字典

应公开为单个字段(而不是(列名,值)对列表)的列的列表。

encoding

字符串

当类型不是 STRING 时,值的编码。

一些有效的选项包括:“TEXT”、“BINARY”

field_name

字符串

如果限定符不是有效的 BigQuery 字段标识符,则必须提供有效的标识符作为列字段名称,并在查询中用作字段名称。

only_read_latest

布尔值

如果设置此项,则只公开此列中值的最新版本。

选项

  • false

  • true

qualifier_string

字符串 / 必需

列的限定符。

type

字符串

此列单元格中值的转换类型。

一些有效的选项包括:“BYTES”、“STRING”、“INTEGER”、“FLOAT”、“BOOLEAN”

encoding

字符串

当类型不是 STRING 时,值的编码。

一些有效的选项包括:“TEXT”、“BINARY”

family_id

字符串

列族的标识符。

only_read_latest

布尔值

如果设置此项,则只公开此列族中所有列值的最新版本。

选项

  • false

  • true

type

字符串

此列族单元格中值的转换类型。

一些有效的选项包括:“BYTES”、“STRING”、“INTEGER”、“FLOAT”、“BOOLEAN”

ignore_unspecified_column_families

布尔值

如果该字段为 true,则在 columnFamilies 列表中未指定的列族不会公开在表模式中。

选项

  • false

  • true

read_rowkey_as_string

布尔值

如果该字段为 true,则读取行键列族并将其转换为字符串。

选项

  • false

  • true

compression

字符串

数据源的压缩类型。

一些有效的选项包括:“GZIP”、“NONE”

csv_options

字典

如果 sourceFormat 设置为 CSV,则为附加属性。

allow_jagged_rows

布尔值

指示 BigQuery 是否应接受缺少尾随可选列的行。

选项

  • false

  • true

allow_quoted_newlines

布尔值

指示 BigQuery 是否允许 CSV 文件中包含换行符的带引号的数据段。

选项

  • false

  • true

encoding

字符串

数据的字符编码。

一些有效的选项包括:“UTF-8”、“ISO-8859-1”

字段分隔符

字符串

CSV 文件中字段的分隔符。

引号

字符串

用于在 CSV 文件中引用数据段的值。

跳过前导行

整数

BigQuery 读取数据时将跳过的 CSV 文件顶部行数。

google_sheets_options

字典

如果 sourceFormat 设置为 GOOGLE_SHEETS,则为附加选项。

跳过前导行

整数

BigQuery 读取数据时将跳过的 Google Sheet 顶部行数。

忽略未知值

布尔值

指示 BigQuery 是否允许表模式中未表示的额外值。

选项

  • false

  • true

max_bad_records

整数

BigQuery 读取数据时可以忽略的错误记录的最大数量。

模式

字典

数据的模式。CSV 和 JSON 格式需要模式。

字段

列表 / 元素=字典

描述表中的字段。

description

字符串

字段描述。

字段

列表 / 元素=字符串

如果 type 属性设置为 RECORD,则描述嵌套模式字段。

模式

字符串

字段模式。

一些有效的选项包括:“NULLABLE”、“REQUIRED”、“REPEATED”

名称

字符串

字段名称。

type

字符串

字段数据类型。

一些有效的选项包括:“STRING”、“BYTES”、“INTEGER”、“FLOAT”、“TIMESTAMP”、“DATE”、“TIME”、“DATETIME”、“RECORD”

source_format

字符串

数据格式。

一些有效的选项包括:“CSV”、“GOOGLE_SHEETS”、“NEWLINE_DELIMITED_JSON”、“AVRO”、“DATASTORE_BACKUP”、“BIGTABLE”、“ORC”

source_uris

列表 / 元素=字符串

指向 Google Cloud 中数据的完全限定 URI。

对于 Google Cloud Storage URI:每个 URI 可以包含一个“*”通配符,并且它必须出现在“bucket”名称之后。与加载作业相关的尺寸限制适用于外部数据源。对于 Google Cloud Bigtable URI:只能指定一个 URI,并且它必须是 Google Cloud Bigtable 表的完全指定且有效的 HTTPS URL。对于 Google Cloud Datastore 备份,只能指定一个 URI。“*”通配符不允许使用。

友好名称

字符串

此表的描述性名称。

标签

字典

与此数据集关联的标签。您可以使用这些标签来组织和分组您的数据集。

名称

字符串

表的名称。

num_rows

整数

此表中的数据行数,不包括流缓冲区中的任何数据。

项目

字符串

要使用的 Google Cloud Platform 项目。

模式

字典

描述此表的模式。

字段

列表 / 元素=字典

描述表中的字段。

description

字符串

字段描述。最大长度为 1,024 个字符。

字段

列表 / 元素=字符串

如果 type 属性设置为 RECORD,则描述嵌套模式字段。

模式

字符串

字段模式。

一些有效的选项包括:“NULLABLE”、“REQUIRED”、“REPEATED”

名称

字符串

字段名称。

type

字符串

字段数据类型。

一些有效的选项包括:“STRING”、“BYTES”、“INTEGER”、“FLOAT”、“TIMESTAMP”、“DATE”、“TIME”、“DATETIME”、“RECORD”

范围

列表 / 元素=字符串

要使用的范围数组

service_account_contents

jsonarg

服务帐户 JSON 文件的内容,可以是字典或表示它的 JSON 字符串。

service_account_email

字符串

如果选择 machineaccount 并且用户不希望使用默认电子邮件,则为可选的服务帐户电子邮件地址。

service_account_file

路径

如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。

状态

字符串

给定对象是否应该存在于 GCP 中

选项

  • "present" ← (默认)

  • "absent"

table_reference

字典

描述此表 ID 的引用。

dataset_id

字符串

包含此表的 DataSet 的 ID。

project_id

字符串

包含此表的项目的 ID。

table_id

字符串

表的 ID。

time_partitioning

字典

如果指定,则配置此表的基于时间的分区。

expiration_ms

整数

保留分区存储的毫秒数。

字段

字符串

如果未设置,则表按伪列进行分区,通过“_PARTITIONTIME”(作为 TIMESTAMP 类型)或“_PARTITIONDATE”(作为 DATE 类型)进行引用。如果指定了字段,则表将按此字段进行分区。该字段必须是顶级 TIMESTAMP 或 DATE 字段。其模式必须是 NULLABLE 或 REQUIRED。

type

字符串

唯一支持的类型是 DAY,它将每天生成一个分区。

一些有效的选项包括:“DAY”

视图

字典

视图定义。

use_legacy_sql

布尔值

指定是否为此视图使用 BigQuery 的旧版 SQL。

选项

  • false

  • true

user_defined_function_resources

列表 / 元素=字典

描述查询中使用的用户定义函数资源。

inline_code

字符串

包含用户定义函数 (UDF) 代码的内联资源。提供内联代码资源等效于提供包含相同代码的文件的 URI。

resource_uri

字符串

要从 Google Cloud Storage URI (gs://bucket/path) 加载的代码资源。

示例

- name: create a dataset
  google.cloud.gcp_bigquery_dataset:
    name: example_dataset
    dataset_reference:
      dataset_id: example_dataset
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: dataset

- name: create a table
  google.cloud.gcp_bigquery_table:
    name: example_table
    dataset: example_dataset
    table_reference:
      dataset_id: example_dataset
      project_id: test_project
      table_id: example_table
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

描述

clustering

列表 / 元素=字符串

应在其上对数据进行聚类的一个或多个字段。仅支持顶级、非重复的简单类型字段。当您使用多个列对表进行聚类时,指定的列的顺序很重要。指定的列的顺序决定数据的排序顺序。

返回:成功

creationTime

整数

创建此数据集的时间(自纪元以来的毫秒数)。

返回:成功

dataset

字符串

数据集的名称。

返回:成功

description

字符串

数据集的用户友好型描述。

返回:成功

encryptionConfiguration

复杂

自定义加密配置。

返回:成功

kmsKeyName

字符串

描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务帐号需要访问此加密密钥。

返回:成功

expirationTime

整数

此表到期的时间(以自纪元以来的毫秒数表示)。如果不存在,则表将无限期保留。

返回:成功

externalDataConfiguration

复杂

描述存储在 BigQuery 之外的表的格式、位置和其他属性。通过定义这些属性,可以像查询标准 BigQuery 表一样查询数据源。

返回:成功

autodetect

布尔值

尝试自动检测模式和格式选项。任何显式指定的选项都将被遵守。

返回:成功

bigtableOptions

复杂

如果 sourceFormat 设置为 BIGTABLE,则为附加选项。

返回:成功

columnFamilies

复杂

要公开在表模式中以及它们的类型的列族的列表。

返回:成功

columns

复杂

应公开为单个字段(而不是(列名,值)对列表)的列的列表。

返回:成功

encoding

字符串

当类型不是 STRING 时,值的编码。

返回:成功

fieldName

字符串

如果限定符不是有效的 BigQuery 字段标识符,则必须提供有效的标识符作为列字段名称,并在查询中用作字段名称。

返回:成功

onlyReadLatest

布尔值

如果设置此项,则只公开此列中值的最新版本。

返回:成功

qualifierString

字符串

列的限定符。

返回:成功

type

字符串

此列单元格中值的转换类型。

返回:成功

encoding

字符串

当类型不是 STRING 时,值的编码。

返回:成功

familyId

字符串

列族的标识符。

返回:成功

onlyReadLatest

布尔值

如果设置此项,则只公开此列族中所有列值的最新版本。

返回:成功

type

字符串

此列族单元格中值的转换类型。

返回:成功

ignoreUnspecifiedColumnFamilies

布尔值

如果该字段为 true,则在 columnFamilies 列表中未指定的列族不会公开在表模式中。

返回:成功

readRowkeyAsString

布尔值

如果该字段为 true,则读取行键列族并将其转换为字符串。

返回:成功

compression

字符串

数据源的压缩类型。

返回:成功

csvOptions

复杂

如果 sourceFormat 设置为 CSV,则为附加属性。

返回:成功

allowJaggedRows

布尔值

指示 BigQuery 是否应接受缺少尾随可选列的行。

返回:成功

allowQuotedNewlines

布尔值

指示 BigQuery 是否允许 CSV 文件中包含换行符的带引号的数据段。

返回:成功

encoding

字符串

数据的字符编码。

返回:成功

fieldDelimiter

字符串

CSV 文件中字段的分隔符。

返回:成功

引号

字符串

用于在 CSV 文件中引用数据段的值。

返回:成功

skipLeadingRows

整数

BigQuery 读取数据时将跳过的 CSV 文件顶部行数。

返回:成功

googleSheetsOptions

复杂

如果 sourceFormat 设置为 GOOGLE_SHEETS,则为附加选项。

返回:成功

skipLeadingRows

整数

BigQuery 读取数据时将跳过的 Google Sheet 顶部行数。

返回:成功

ignoreUnknownValues

布尔值

指示 BigQuery 是否允许表模式中未表示的额外值。

返回:成功

maxBadRecords

整数

BigQuery 读取数据时可以忽略的错误记录的最大数量。

返回:成功

模式

复杂

数据的模式。CSV 和 JSON 格式需要模式。

返回:成功

字段

复杂

描述表中的字段。

返回:成功

description

字符串

字段描述。

返回:成功

字段

列表 / 元素=字符串

如果 type 属性设置为 RECORD,则描述嵌套模式字段。

返回:成功

模式

字符串

字段模式。

返回:成功

名称

字符串

字段名称。

返回:成功

type

字符串

字段数据类型。

返回:成功

sourceFormat

字符串

数据格式。

返回:成功

sourceUris

列表 / 元素=字符串

指向 Google Cloud 中数据的完全限定 URI。

对于 Google Cloud Storage URI:每个 URI 可以包含一个“*”通配符,并且它必须出现在“bucket”名称之后。与加载作业相关的尺寸限制适用于外部数据源。对于 Google Cloud Bigtable URI:只能指定一个 URI,并且它必须是 Google Cloud Bigtable 表的完全指定且有效的 HTTPS URL。对于 Google Cloud Datastore 备份,只能指定一个 URI。“*”通配符不允许使用。

返回:成功

friendlyName

字符串

此表的描述性名称。

返回:成功

id

字符串

唯一标识表的不明确 ID。

返回:成功

标签

字典

与此数据集关联的标签。您可以使用这些标签来组织和分组您的数据集。

返回:成功

lastModifiedTime

整数

上次修改此表的时间(自纪元以来的毫秒数)。

返回:成功

位置

字符串

表所在的地理位置。此值继承自数据集。

返回:成功

名称

字符串

表的名称。

返回:成功

numBytes

整数

此表的大小(以字节为单位),不包括流缓冲区中的任何数据。

返回:成功

numLongTermBytes

整数

表中被视为“长期存储”的字节数。

返回:成功

numRows

整数

此表中的数据行数,不包括流缓冲区中的任何数据。

返回:成功

requirePartitionFilter

布尔值

如果设置为 true,则对该表的查询需要指定可用于分区消除的分区过滤器。

返回:成功

模式

复杂

描述此表的模式。

返回:成功

字段

复杂

描述表中的字段。

返回:成功

description

字符串

字段描述。最大长度为 1,024 个字符。

返回:成功

字段

列表 / 元素=字符串

如果 type 属性设置为 RECORD,则描述嵌套模式字段。

返回:成功

模式

字符串

字段模式。

返回:成功

名称

字符串

字段名称。

返回:成功

type

字符串

字段数据类型。

返回:成功

streamingBuffer

复杂

包含有关此表的流缓冲区的信息(如果存在)。如果未向表流式传输数据或流缓冲区中没有数据,则此字段将不存在。

返回:成功

estimatedBytes

整数

当前流缓冲区中字节数的下限估计值。

返回:成功

estimatedRows

整数

当前流缓冲区中行数的下限估计值。

返回:成功

oldestEntryTime

整数

如果流缓冲区可用,则包含流缓冲区中最旧条目的时间戳(自纪元以来的毫秒数)。

返回:成功

tableReference

复杂

描述此表 ID 的引用。

返回:成功

datasetId

字符串

包含此表的 DataSet 的 ID。

返回:成功

projectId

字符串

包含此表的项目的 ID。

返回:成功

tableId

字符串

表的 ID。

返回:成功

timePartitioning

复杂

如果指定,则配置此表的基于时间的分区。

返回:成功

expirationMs

整数

保留分区存储的毫秒数。

返回:成功

字段

字符串

如果未设置,则表按伪列进行分区,通过“_PARTITIONTIME”(作为 TIMESTAMP 类型)或“_PARTITIONDATE”(作为 DATE 类型)进行引用。如果指定了字段,则表将按此字段进行分区。该字段必须是顶级 TIMESTAMP 或 DATE 字段。其模式必须是 NULLABLE 或 REQUIRED。

返回:成功

type

字符串

唯一支持的类型是 DAY,它将每天生成一个分区。

返回:成功

type

字符串

描述表类型。

返回:成功

视图

复杂

视图定义。

返回:成功

useLegacySql

布尔值

指定是否为此视图使用 BigQuery 的旧版 SQL。

返回:成功

userDefinedFunctionResources

复杂

描述查询中使用的用户定义函数资源。

返回:成功

inlineCode

字符串

包含用户定义函数 (UDF) 代码的内联资源。提供内联代码资源等效于提供包含相同代码的文件的 URI。

返回:成功

resourceUri

字符串

要从 Google Cloud Storage URI (gs://bucket/path) 加载的代码资源。

返回:成功

作者

  • Google Inc. (@googlecloudplatform)