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

列表 / elements=字符串

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

dataset

字符串

数据集的名称。

description

字符串

数据集的用户友好描述。

encryption_configuration

字典

自定义加密配置。

kms_key_name

字符串

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

env_type

字符串

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

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

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

expiration_time

整数

此表过期的时间,以自 epoch 以来的毫秒为单位。如果不存在,表将无限期保留。

external_data_configuration

字典

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

autodetect

布尔值

尝试自动检测模式和格式选项。任何明确指定的选项都将生效。

选择

  • false

  • true

bigtable_options

字典

如果 sourceFormat 设置为 BIGTABLE,则为其他选项。

column_families

列表 / elements=字典

要在表模式中公开的列族及其类型列表。

columns

列表 / elements=字典

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

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”

field_delimiter

字符串

CSV 文件中字段的分隔符。

quote

字符串

用于引用 CSV 文件中数据部分的值。

skip_leading_rows

整数

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

google_sheets_options

字典

如果 sourceFormat 设置为 GOOGLE_SHEETS,则为其他选项。

skip_leading_rows

整数

BigQuery 在读取数据时将跳过的 Google 表格顶部的行数。

ignore_unknown_values

布尔值

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

选择

  • false

  • true

max_bad_records

整数

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

schema

字典

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

fields

列表 / elements=字典

描述表中的字段。

description

字符串

字段描述。

fields

列表 / elements=字符串

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

mode

字符串

字段模式。

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

name

字符串

字段名称。

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

列表 / elements=字符串

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

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

friendly_name

字符串

此表的描述性名称。

labels

字典

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

name

字符串

表名。

num_rows

整数

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

project

字符串

要使用的 Google Cloud Platform 项目。

schema

字典

描述此表的模式。

fields

列表 / elements=字典

描述表中的字段。

description

字符串

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

fields

列表 / elements=字符串

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

mode

字符串

字段模式。

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

name

字符串

字段名称。

type

字符串

字段数据类型。

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

scopes

列表 / elements=字符串

要使用的范围数组

service_account_contents

jsonarg

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

service_account_email

字符串

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

service_account_file

path

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

state

字符串

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

选择

  • "present" ← (默认)

  • "absent"

table_reference

字典

描述此表 ID 的引用。

dataset_id

字符串

包含此表的 ID。

project_id

字符串

包含此表的项目的 ID。

table_id

字符串

表的 ID。

time_partitioning

字典

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

expiration_ms

整数

保留分区存储的毫秒数。

field

字符串

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

type

字符串

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

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

view

字典

视图定义。

use_legacy_sql

布尔值

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

选择

  • false

  • true

user_defined_function_resources

列表 / elements=字典

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

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

列表 / elements=字符串

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

返回:成功

creationTime

整数

此数据集的创建时间,以自 Epoch 以来的毫秒数表示。

返回:成功

dataset

字符串

数据集的名称。

返回:成功

description

字符串

数据集的用户友好描述。

返回:成功

encryptionConfiguration

complex

自定义加密配置。

返回:成功

kmsKeyName

字符串

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

返回:成功

expirationTime

整数

此表过期的时间,以自 epoch 以来的毫秒为单位。如果不存在,表将无限期保留。

返回:成功

externalDataConfiguration

complex

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

返回:成功

autodetect

布尔值

尝试自动检测模式和格式选项。任何明确指定的选项都将生效。

返回:成功

bigtableOptions

complex

如果 sourceFormat 设置为 BIGTABLE,则为其他选项。

返回:成功

columnFamilies

complex

要在表模式中公开的列族及其类型列表。

返回:成功

columns

complex

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

返回:成功

encoding

字符串

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

返回:成功

fieldName

字符串

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

返回:成功

onlyReadLatest

布尔值

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

返回:成功

qualifierString

字符串

列的限定符。

返回:成功

type

字符串

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

返回:成功

encoding

字符串

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

返回:成功

familyId

字符串

列族的标识符。

返回:成功

onlyReadLatest

布尔值

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

返回:成功

type

字符串

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

返回:成功

ignoreUnspecifiedColumnFamilies

布尔值

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

返回:成功

readRowkeyAsString

布尔值

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

返回:成功

compression

字符串

数据源的压缩类型。

返回:成功

csvOptions

complex

如果 sourceFormat 设置为 CSV,则为其他属性。

返回:成功

allowJaggedRows

布尔值

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

返回:成功

allowQuotedNewlines

布尔值

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

返回:成功

encoding

字符串

数据的字符编码。

返回:成功

fieldDelimiter

字符串

CSV 文件中字段的分隔符。

返回:成功

quote

字符串

用于引用 CSV 文件中数据部分的值。

返回:成功

skipLeadingRows

整数

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

返回:成功

googleSheetsOptions

complex

如果 sourceFormat 设置为 GOOGLE_SHEETS,则为其他选项。

返回:成功

skipLeadingRows

整数

BigQuery 在读取数据时将跳过的 Google 表格顶部的行数。

返回:成功

ignoreUnknownValues

布尔值

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

返回:成功

maxBadRecords

整数

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

返回:成功

schema

complex

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

返回:成功

fields

complex

描述表中的字段。

返回:成功

description

字符串

字段描述。

返回:成功

fields

列表 / elements=字符串

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

返回:成功

mode

字符串

字段模式。

返回:成功

name

字符串

字段名称。

返回:成功

type

字符串

字段数据类型。

返回:成功

sourceFormat

字符串

数据格式。

返回:成功

sourceUris

列表 / elements=字符串

指向 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。

返回:成功

labels

字典

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

返回:成功

lastModifiedTime

整数

此表的上次修改时间,以自 Epoch 以来的毫秒数表示。

返回:成功

location

字符串

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

返回:成功

name

字符串

表名。

返回:成功

numBytes

整数

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

返回:成功

numLongTermBytes

整数

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

返回:成功

numRows

整数

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

返回:成功

requirePartitionFilter

布尔值

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

返回:成功

schema

complex

描述此表的模式。

返回:成功

fields

complex

描述表中的字段。

返回:成功

description

字符串

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

返回:成功

fields

列表 / elements=字符串

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

返回:成功

mode

字符串

字段模式。

返回:成功

name

字符串

字段名称。

返回:成功

type

字符串

字段数据类型。

返回:成功

streamingBuffer

complex

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

返回:成功

estimatedBytes

整数

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

返回:成功

estimatedRows

整数

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

返回:成功

oldestEntryTime

整数

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

返回:成功

tableReference

complex

描述此表 ID 的引用。

返回:成功

datasetId

字符串

包含此表的 ID。

返回:成功

projectId

字符串

包含此表的项目的 ID。

返回:成功

tableId

字符串

表的 ID。

返回:成功

timePartitioning

complex

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

返回:成功

expirationMs

整数

保留分区存储的毫秒数。

返回:成功

field

字符串

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

返回:成功

type

字符串

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

返回:成功

type

字符串

描述表类型。

返回:成功

view

complex

视图定义。

返回:成功

useLegacySql

布尔值

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

返回:成功

userDefinedFunctionResources

complex

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

返回:成功

inlineCode

字符串

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

返回:成功

resourceUri

字符串

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

返回:成功

作者

  • Google Inc. (@googlecloudplatform)