软件包 google.cloud.bigquery.datatransfer.v1

索引

DataSourceService

通过 Google BigQuery Data Transfer API,BigQuery 用户可以配置将其位于其他 Google 产品中的数据传输到 BigQuery 的方式。此服务会公开应该由数据源后端使用的方法。

CreateDataSourceDefinition

rpc CreateDataSourceDefinition(CreateDataSourceDefinitionRequest) returns (DataSourceDefinition)

创建数据源定义。调用此方法时,系统会使用您的凭据,在您的 Google Cloud 项目中自动创建以下 Google Cloud 资源。1.OAuth 客户端 2. 每个 supported_location_ids 中的 Pub/Sub 主题和订阅,如 projects/{project_id}/{topics|subscriptions}/bigquerydatatransfer.{data_source_id}.{location_id}.run。输入请求中的 data_source.client_id 字段应留空,因为 API 将代表调用方创建新的 OAuth 客户端。另一方面,如果存在需要由最终用户授予的 OAuth 权限范围,则通常需要设置 data_source.scopes。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DeleteDataSourceDefinition

rpc DeleteDataSourceDefinition(DeleteDataSourceDefinitionRequest) returns (Empty)

要删除数据源定义,必须首先由所有地区中的用户删除与此数据源定义(如果有)相关的所有转移作业配置。此方法主要适用于删除在测试阶段创建的数据源。如果引用此数据源的转移作业配置在请求网址中指定的区域内,使用该方法执行删除操作就会立即失败。如果在当前区域(例如,美国)中没有任何转移作业配置使用数据源,但是在另一个区域(例如,欧盟)中有转移作业配置使用了,那么在美国区域中使用该方法会成功,而当删除操作被复制到欧盟区域中执行时则会失败。最后,系统会将数据源定义从欧盟复制回美国,以使所有区域保持一致。最终结果是,在美国地区的数据源也未被删除。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

FinishRun

rpc FinishRun(FinishRunRequest) returns (Empty)

通知 Data Transfer Service,表示数据源已处理完运行。此后不会再继续接收状态更新或启动/监控作业的请求。在所有受监控的作业完成后,Data Transfer Service 会终结运行。如果运行已设置为 FAILED,则不需要调用此方法。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetDataSourceDefinition

rpc GetDataSourceDefinition(GetDataSourceDefinitionRequest) returns (DataSourceDefinition)

检索现有数据源定义。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListDataSourceDefinitions

rpc ListDataSourceDefinitions(ListDataSourceDefinitionsRequest) returns (ListDataSourceDefinitionsResponse)

列出支持的数据源定义。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

LogTransferRunMessages

rpc LogTransferRunMessages(LogTransferRunMessagesRequest) returns (Empty)

记录转移作业运行的消息。如果操作成功(日志中至少记录 1 条消息),则重置 data_source.update_deadline_seconds 计时器。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

StartBigQueryJobs

rpc StartBigQueryJobs(StartBigQueryJobsRequest) returns (Empty)

通知 Data Transfer Service,表明数据已可供加载。此时 Data Transfer Service 会启动,并监控一次传输运行的多个 BigQuery 加载作业。受到监控的作业会自动重试,并在开始和完成作业时生成日志。可以针对相同的传输运行多次调用此方法。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

UpdateDataSourceDefinition

rpc UpdateDataSourceDefinition(UpdateDataSourceDefinitionRequest) returns (DataSourceDefinition)

更新现有数据源定义。如果您更改了 supported_location_ids,则会触发如“创建数据源定义”中所述的那些效果。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

UpdateTransferRun

rpc UpdateTransferRun(UpdateTransferRunRequest) returns (TransferRun)

更新转移作业运行。如果操作成功,则重置 data_source.update_deadline_seconds 计时器。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DataTransferService

借助 Google BigQuery Data Transfer Service API,BigQuery 用户可以配置将其位于其他 Google 产品中的数据传输到 BigQuery 的方式。此服务包含由最终用户公开提供的方法。这项服务会备份前端。

CheckValidCreds

rpc CheckValidCreds(CheckValidCredsRequest) returns (CheckValidCredsResponse)

如果指定数据源和发出请求的用户拥有有效凭据,则返回 true。某些数据源不支持服务帐号,所以我们需要代表最终用户与其交流。此 API 仅检查我们是否拥有特定用户的 OAuth 令牌,这也是用户创建传输配置的先决条件。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

CreateTransferConfig

rpc CreateTransferConfig(CreateTransferConfigRequest) returns (TransferConfig)

创建新的数据转移作业配置。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DeleteTransferConfig

rpc DeleteTransferConfig(DeleteTransferConfigRequest) returns (Empty)

删除数据转移作业配置,包括任何关联的转移作业运行和日志。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DeleteTransferRun

rpc DeleteTransferRun(DeleteTransferRunRequest) returns (Empty)

删除指定的转移作业运行。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

EnableDataTransferService

rpc EnableDataTransferService(EnableDataTransferServiceRequest) returns (Empty)

为指定项目启用数据转移服务。此方法需要额外的“https://www.googleapis.com/auth/cloudplatformprojects”范围来管理云项目权限。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetDataSource

rpc GetDataSource(GetDataSourceRequest) returns (DataSource)

检索受支持的数据源并返回其设置,这些设置可用于界面呈现。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetTransferConfig

rpc GetTransferConfig(GetTransferConfigRequest) returns (TransferConfig)

返回有关数据转移作业配置的信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetTransferRun

rpc GetTransferRun(GetTransferRunRequest) returns (TransferRun)

返回特定转移作业运行的相关信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

IsDataTransferServiceEnabled

rpc IsDataTransferServiceEnabled(IsDataTransferServiceEnabledRequest) returns (IsDataTransferServiceEnabledResponse)

如果项目启用了数据转移,则返回 true。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListDataSources

rpc ListDataSources(ListDataSourcesRequest) returns (ListDataSourcesResponse)

该方法列出受支持的数据源,并返回其设置(可用于呈现界面)。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListTransferConfigs

rpc ListTransferConfigs(ListTransferConfigsRequest) returns (ListTransferConfigsResponse)

返回有关项目中所有数据转移作业的信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListTransferLogs

rpc ListTransferLogs(ListTransferLogsRequest) returns (ListTransferLogsResponse)

返回向用户显示的数据转移作业运行日志消息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListTransferRuns

rpc ListTransferRuns(ListTransferRunsRequest) returns (ListTransferRunsResponse)

返回有关正在运行和已完成的作业的信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ScheduleTransferRuns

rpc ScheduleTransferRuns(ScheduleTransferRunsRequest) returns (ScheduleTransferRunsResponse)

为某个时间范围 [start_time, end_time] 创建转移作业运行。为该范围内的每个日期(或数据源支持的任何粒度)创建一个传输运行。注意,运行在该时间范围内按世界协调时间 (UTC) 创建。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

UpdateTransferConfig

rpc UpdateTransferConfig(UpdateTransferConfigRequest) returns (TransferConfig)

更新数据转移作业配置。即使字段未进行更新,也必须设置所有字段。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

CheckValidCredsRequest

确定用户是否具有有效凭据的请求。此方法用于限制用户界面内 OAuth 弹出窗口的数量。系统会根据 API 调用上下文推断用户 ID。如果数据源采用 Google+ 授权类型,此方法会返回 false,原因在于它无法单纯地根据用户 ID 确定凭据是否已经生效。

字段
name

string

数据源,格式为 projects/{project_id}/dataSources/{data_source_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

CheckValidCredsResponse

表示凭据是否存在、是否有效的响应。

字段
has_valid_creds

bool

如果设置为 true,则凭据存在并且有效。

CreateDataSourceDefinitionRequest

表示 CreateDataSourceDefinition 方法的请求。

字段
parent

string

与数据源定义关联的 BigQuery 项目 ID。必须采用以下格式:projects/{project_id}/locations/{location_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.datasources.update

data_source_definition

DataSourceDefinition

数据源定义。

CreateTransferConfigRequest

创建数据传输配置的请求。如果此传输配置需要新凭据,则必须提供授权代码。如果提供了一个授权代码,则传输配置会与对应于授权代码的用户 ID 关联。否则,传输配置会与调用方用户关联。

字段
parent

string

应在其中创建传输配置的 BigQuery 项目的 ID。必须采用此格式:projects/{project_id}/locations/{location_id}。如果指定的位置与目标 bigquery 数据集的位置不匹配,请求则会失败。

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

transfer_config

TransferConfig

要创建的数据转移作业配置。

authorization_code

string

要在此转移作业配置中使用的 OAuth2 授权代码(可选)。如果需要新凭据(由 CheckValidCreds 指示),则必须提供此参数。要获取 authorization_code,请向以下链接所指向的网页发出请求:https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=

  • client_id 应该是适用于指定数据源(ListDataSources 方法所返回的数据源)的 BigQuery DTS API 的 OAuth client_id。
  • data_source_scopes 是 ListDataSources 方法返回的范围。
  • redirect_uri 是可选参数。如果未指定该参数,则授权代码会发布至授权流窗口的开启者。否则,它将发送到重定向 URI。urn:ietf:wg:oauth:2.0:oob 这个特殊值表示应在浏览器的标题栏中返回授权代码,同时在页面上显示文字,提示用户复制该代码并将其粘贴到应用中。

DataSource

表示数据源元数据。元数据足以呈现界面并请求合适的 OAuth 令牌。

字段
name

string

仅供输出。数据源资源名称。

data_source_id

string

数据源 ID。

display_name

string

方便用户使用的数据源名称。

description

string

方便用户使用的数据源说明字符串。

client_id

string

应该用于接收刷新令牌的数据源客户端 ID。

scopes[]

string

需要为之获取刷新令牌的 API 身份验证范围。 要了解数据源准备数据和将数据提取到 BigQuery 中时所需的范围示例,请访问 https://www.googleapis.com/auth/bigquery

transfer_type
(deprecated)

TransferType

已弃用。此字段无效。

supports_multiple_transfers
(deprecated)

bool

已弃用。此字段无效。

update_deadline_seconds

int32

在 Data Transfer Service 将转移作业标记为 FAILED 之前等待数据源进行更新的秒数。

default_schedule

string

默认的数据转移作业时间表。有效时间表的示例包括 1st,3rd monday of month 15:30every wed,fri of jan,jun 13:15first sunday of quarter 00:00

supports_custom_schedule

bool

用于指定数据源是支持用户指定的时间表还是依照默认时间表运行。 如果设置为 true,则用户可以覆盖默认时间表。

parameters[]

DataSourceParameter

数据源参数。

help_url

string

此数据源的帮助文档的网址。

authorization_type

AuthorizationType

表示授权类型。

data_refresh_type

DataRefreshType

指定数据源是否支持自动刷新过去几天的数据以及如何支持。 对于某些数据源,数据可能要在几天后才能完成转移,因此自动刷新数据非常有用。

default_data_refresh_window_days

int32

默认的数据刷新时段(以天为单位)。 仅在 data_refresh_type = SLIDING_WINDOW 时才有意义。

manual_runs_disabled

bool

停用数据源的回填和手动运行时间表。

minimum_schedule_interval

Duration

调度程序安排运行的最小间隔。

redirect_url

string

用于完成第三方数据源转移作业配置设置的重定向网址。

AuthorizationType

此数据源所需的授权类型。

枚举
AUTHORIZATION_TYPE_UNSPECIFIED 未指定类型。
AUTHORIZATION_CODE 使用可以在后端交换刷新令牌的 OAuth 2 授权代码。
GOOGLE_PLUS_AUTHORIZATION_CODE 返回给定 Google+ 信息页的授权代码,然后可以在后端将其用于交换刷新令牌。

DataRefreshType

表示数据源如何支持数据自动刷新。

枚举
DATA_REFRESH_TYPE_UNSPECIFIED 数据源不支持数据自动刷新,这是默认值。
SLIDING_WINDOW 数据源支持数据自动刷新,并且将安排针对过去几天的运行。不允许为每个传输配置设置自定义值。
CUSTOM_SLIDING_WINDOW 数据源支持数据自动刷新,并且将安排针对过去几天的运行。允许为每个传输配置设置自定义值。

DataSourceDefinition

表示数据源定义。

字段
name

string

数据源定义的资源名称。 数据源定义名称采用如下格式:projects/{project_id}/locations/{location}/dataSourceDefinitions/{data_source_id}

data_source

DataSource

数据源元数据。

transfer_run_pubsub_topic

string

在创建转移作业运行时用于广播消息的 Pub/Sub 主题。此主题和 transfer_config_pubsub_topic 均可设置为自定义主题。默认情况下,如果在创建定义时未提供这两个主题,则它们会自动生成。不过,如果其中一个主题是手动设置的,您还必须手动设置另一个主题。唯一的区别是,transfer_run_pubsub_topic 必须是非空的 Pub/Sub 主题,但 transfer_config_pubsub_topic 可以留空。有关 transfer_config_pubsub_topic 的“{location}”的评论在此处也同样适用。

run_time_offset

Duration

为了在安排作业时计算 run_time,应该添加到 schedule_time 的持续时间。仅适用于自动安排的转移作业运行。用于在支持连续数据刷新的数据源上提前启动运行,以补偿未知的时区偏移量。对于不支持连续数据刷新的数据源,请使用负数来延迟启动运行。

support_email

string

支持 OAuth 客户端品牌的电子邮件地址,其中包含“同意”屏幕数据。

service_account

string

指定服务帐号后,BigQuery 会与指定的服务帐号共享已创建的数据集。此外,此服务帐号将有权针对相应 data_source_id 的数据转移作业运行执行状态更新和记录消息日志。

disabled

bool

是否已停用数据源?如果为 true,则无法看到 data_source。此外,API 也会停止返回与数据源相关的任何数据转移作业配置和/或运行。此设置的优先级高于 whitelisted_project_ids。

transfer_config_pubsub_topic

string

用于广播转移作业配置消息的 Pub/Sub 主题。如果留空,则不播发消息。如果在创建定义时未提供这个主题和 transfer_run_pubsub_topic,则它们会自动生成。如果提供了 user-owned transfer_run_pubsub_topic,建议也提供 transfer_config_pubsub_topic。否则,它将被留空。如果在值中发现“{location}”,则表示数据源希望为不同地区内的数据集单独处理消息。我们会将 {location} 替换为实际数据集位置,以作为实际主题名称。例如,projects/connector/topics/scheduler-{location} 可能会变为 projects/connector/topics/scheduler-us。如果未找到“{location}”,我们会将输入值用作主题名称。

supported_location_ids[]

string

受支持的 location_ids,用于确定需要在哪些位置创建 Pub/Sub 主题。如果使用自定义 Pub/Sub 主题,并且它们包含“{location}”,将使用 location_ids 来验证主题,方法是将“{location}”替换为列表中的单个位置。有效值是 GET https://bigquerydatatransfer.googleapis.com/v1/{name=projects/*}/locations 的响应的“location_id”字段。此外,如果数据源需要支持所有可用地区,可以将 supported_location_ids 设置为“global”(单个字符串元素)。指定“global”后:1) 数据源实现应该将数据暂存在目标数据集的适当地区;2) 数据源开发者应当了解支持“global”地区的影响(例如,网络流量延迟、与跨地区流量相关的潜在费用等)。

DataSourceParameter

表示具有验证规则的数据源参数,以便可以在界面中呈现参数。这些参数由受支持的数据源提供给我们,并且包含呈现和验证所需的所有信息。因此,使用此 API 的用户可以决定是生成常规界面还是自定义特定于数据源的表单。

字段
param_id

string

参数标识符。

display_name

string

界面中的参数显示名称。

description

string

参数说明。

type

Type

参数类型。

required

bool

参数是否为必需。

repeated

bool

已弃用。此字段无效。

validation_regex

string

可用于参数验证的正则表达式。

allowed_values[]

string

参数的所有可能值。

min_value

DoubleValue

对于整数和双精度值,指定允许的最小值。

max_value

DoubleValue

对于整数和双精度值,指定允许的最大值。

fields[]

DataSourceParameter

已弃用。此字段无效。

validation_description

string

此字段要求的说明(如果用户输入不满足正则表达式格式或最小/最大值的要求)。

validation_help_url

string

进一步说明命名要求的帮助文档的网址。

immutable

bool

初始创建后便无法更改。

recurse

bool

已弃用。此字段无效。

Type

参数类型。

枚举
TYPE_UNSPECIFIED 未指定类型。
STRING 字符串参数。
INTEGER 整数参数(64 位)。此参数会序列化为 json 字符串。
DOUBLE 双精度浮点参数。
BOOLEAN 布尔值参数。
RECORD 已弃用。此字段无效。
PLUS_PAGE Google+ 信息页的页面 ID。

DeleteDataSourceDefinitionRequest

表示 DeleteDataSourceDefinition 方法的请求。必须先删除与数据源关联的所有转移作业配置,然后才能删除该数据源。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/locations/{location_id}/dataSourceDefinitions/{data_source_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

DeleteTransferConfigRequest

删除数据传输信息的请求。所有关联的传输运行和日志消息也会被系统删除。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/transferConfigs/{config_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

DeleteTransferRunRequest

删除数据传输运行信息的请求。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

EnableDataTransferServiceRequest

为项目启用数据传输服务的请求。

字段
name

string

项目资源的名称,格式为 projects/{project_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • resourcemanager.projects.update

FinishRunRequest

完成运行的请求。

字段
name

string

资源的名称,格式为"projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}/runs/{run_id}"

GetDataSourceDefinitionRequest

表示 GetDataSourceDefinition 方法的请求。

字段
name

string

该字段包含所请求资源的名称。

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.datasources.get

GetDataSourceRequest

获取数据源信息的请求。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/dataSources/{data_source_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

GetTransferConfigRequest

获取数据传输信息的请求。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/transferConfigs/{config_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

GetTransferRunRequest

获取数据传输运行信息的请求。

字段
name

string

该字段将包含所请求资源的名称,例如:projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

ImportedDataInfo

描述应该导入的数据。

字段
sql

string

要运行的 SQL 查询。如果此字段为空,API 会检查是否只指定了一个 table_def,并加载此表。此字段仅接受标准 SQL 查询。不允许使用旧版 SQL。

destination_table_id

string

表示应将结果写入的表。

destination_table_description

string

目标表的说明。此说明可以是几个句子,也可以是几个段落,用于详细描述表的内容。

table_defs[]

TableDefinition

在不带“sql”参数使用时,用于说明目标表的架构。与“sql”参数一起使用时,用于说明包含 BigQuery 外部数据的表。

user_defined_functions[]

string

用户定义的函数资源的内嵌代码。如果“sql”参数为空,则系统会忽略此字段。

write_disposition

WriteDisposition

指定目标表已存在时执行的操作。

Encoding

采用 CSV/JSON 格式的输入数据的编码。

枚举
ENCODING_UNSPECIFIED 默认编码 (UTF8)。
ISO_8859_1 ISO_8859_1 编码。
UTF8 UTF8 编码。

FieldSchema

定义已导入的数据中字段的架构。

字段
field_name

string

字段名称。匹配:[A-Za-z_][A-Za-z_0-9]{0,127}

type

Type

字段类型

is_repeated

bool

表示字段是否重复。

description

string

此字段的说明。

schema

RecordSchema

表示类型是否 == RECORD。

Type

LINT.IfChange 字段类型。

枚举
TYPE_UNSPECIFIED 非法值。
STRING 64K、UTF8。
INTEGER 64 位,有符号。
FLOAT 64 位 IEEE 浮点。
RECORD 聚合类型。
BYTES 64K、二进制。
BOOLEAN 2 值。
TIMESTAMP 从世界协调时间 (UTC) 周期开始计算的 64 位有符号微秒数。
DATE 民用日期 - 年、月、日。
TIME 民用时间 - 小时、分钟、秒、微秒。
DATETIME 民用日期与民用时间的组合。
NUMERIC 精度为 38 位、标度为 9 位的数值类型。
GEOGRAPHY 地理位置对象 (go/googlesql_geography)。

Format

数据格式。

枚举
FORMAT_UNSPECIFIED 未指定格式。在这种情况下,我们必须根据数据源推断出格式。
CSV CSV 格式。
JSON 以换行符分隔的 JSON。
AVRO Avro 格式。请参见 http://avro.apache.org
RECORDIO RecordIO。
COLUMNIO ColumnIO。
CAPACITOR Capacitor 类型。
PARQUET Parquet 格式。请参阅 https://parquet.apache.org
ORC ORC 格式。请参阅 https://orc.apache.org

RecordSchema

说明要提取的数据的模式。

字段
fields[]

FieldSchema

记录中每列一个字段。

TableDefinition

外部表定义。这些表可以在查询中使用“name”引用,并且可以像读取其他任何表一样读取。

字段
table_id

string

BigQuery table_id(必需)。此字段用于在查询中引用此表。

source_uris[]

string

要导入的数据的 URI。所有 URI 均必须来自同一存储系统。

format

Format

说明 source_uri 中数据的格式。

max_bad_records

int32

指定可以忽略的最大错误记录数。如果错误记录数超过此阈值,则查询会取消。

encoding

Encoding

输入的字符编码(CSV、JSON),在适用情况下指定。默认为 UTF8。

csv_options

CsvOptions

CSV 特定选项。

schema

RecordSchema

数据的可选架构。如果没有为 JSON 和 CSV 格式指定此字段,我们会尝试自动检测。

ignore_unknown_values

BoolValue

表示是否允许表架构中不存在的额外值。

CsvOptions

CSV 特定选项。

字段
field_delimiter

StringValue

分隔符。我们目前将此字段限制为 U+0001 到 U+00FF,并在验证期间应用其他约束。

allow_quoted_newlines

BoolValue

表示是否允许 CSV 文件包含带英文引号的换行符。如果允许使用带引号的换行符,则无法拆分 CSV 文件。

quote_char

StringValue

英文引号字符。我们目前将此字段限制为 U+0000 到 U+00FF,并在验证期间应用其他约束。如果将此字段设置为“\0”,则表示不使用英文引号。

skip_leading_rows

Int64Value

要跳过的前导行数。

allow_jagged_rows

BoolValue

接受末尾处缺少可选列的行。

IsDataTransferServiceEnabledRequest

确定是否已为项目启用数据传输的请求。

字段
name

string

项目资源的名称,格式为 projects/{project_id}

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • resourcemanager.projects.get

IsDataTransferServiceEnabledResponse

指示是否已为项目启用数据传输服务的响应。

字段
enabled

bool

指示是否已为项目启用数据转移服务。

reason

string

一个字符串,其中包含有关该服务为何被视为未启用的额外信息。此字段仅在 enable 为 false 时可用。

ListDataSourceDefinitionsRequest

表示 ListDataSourceDefinitions 方法的请求。

字段
parent

string

应返回数据源的 BigQuery 项目 ID。必须采用以下格式:projects/{project_id}/locations/{location_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.datasources.get

page_token

string

分页令牌,可用于请求特定的 ListDataSourceDefinitionsRequest 列表结果页面。对于跨多个页面的结果,ListDataSourceDefinitionsResponse 会输出 next_page 令牌,可用作 page_token 值来请求下一页列表结果。

page_size

int32

页面大小。默认页面大小为最多显示 1000 条结果。

ListDataSourceDefinitionsResponse

返回支持的数据源定义的列表。

字段
data_source_definitions[]

DataSourceDefinition

支持的数据源定义的列表。

next_page_token

string

仅供输出。下一分页令牌。对于跨多个页面的列表结果,此令牌可用作 ListDataSourceDefinitionsRequest.page_token 来请求下一页列表结果。

ListDataSourcesRequest

列出系统支持的数据源及其传输设置的请求。

字段
parent

string

应返回数据源的 BigQuery 项目 ID。必须采用以下格式:projects/{project_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

page_token

string

分页令牌,可用于请求特定的 ListDataSourcesRequest 列表结果页面。对于跨多个页面的结果,ListDataSourcesResponse 会输出 next_page 令牌,可用作 page_token 值来请求下一页列表结果。

page_size

int32

页面大小。默认页面大小为最多显示 1000 条结果。

ListDataSourcesResponse

返回系统支持的数据源及其元数据的列表。

字段
data_sources[]

DataSource

支持的数据源及其转移设置的列表。

next_page_token

string

仅供输出。下一分页令牌。对于跨多个页面的列表结果,此令牌可用作 ListDataSourcesRequest.page_token 来请求下一页列表结果。

ListTransferConfigsRequest

列出为 BigQuery 项目配置的数据传输的请求。

字段
parent

string

应返回其数据源的 BigQuery 项目的 ID:projects/{project_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

data_source_ids[]

string

指定此参数后,系统仅返回所请求数据源的配置。

page_token

string

分页令牌,可用于请求特定的 ListTransfersRequest 列表结果页面。对于跨多个页面的结果,ListTransfersResponse 会输出 next_page 令牌,可用作 page_token 值来请求下一页列表结果。

page_size

int32

页面大小。默认页面大小为最多显示 1000 条结果。

ListTransferConfigsResponse

返回的关于项目中的管道的列表。

字段
transfer_configs[]

TransferConfig

仅供输出。存储的流水线转移作业配置。

next_page_token

string

仅供输出。下一分页令牌。对于跨多个页面的列表结果,此令牌可用作 ListTransferConfigsRequest.page_token 来请求下一页列表结果。

ListTransferLogsRequest

获取与数据传输运行相关联、向用户显示的日志消息的请求。

字段
parent

string

转移作业运行名称,格式为 projects/{project_id}/transferConfigs/{config_Id}/runs/{run_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

page_token

string

分页令牌,可用于请求特定的 ListTransferLogsRequest 列表结果页面。对于跨多个页面的结果,ListTransferLogsResponse 会输出 next_page 令牌,可用作 page_token 值来请求下一页列表结果。

page_size

int32

页面大小。默认页面大小为最多显示 1000 条结果。

message_types[]

MessageSeverity

要返回的消息类型。如果未填充该参数,系统将返回 INFO、WARNING 和 ERROR 消息。

ListTransferLogsResponse

所返回的列表传输运行消息。

字段
transfer_messages[]

TransferMessage

仅供输出。存储的流水线转移作业消息。

next_page_token

string

仅供输出。下一分页令牌。对于跨多个页面的列表结果,此令牌可用作 GetTransferRunLogRequest.page_token 来请求下一页列表结果。

ListTransferRunsRequest

列出数据传输运行的请求。界面可以使用此方法来显示/过滤特定的数据传输运行。数据源可以使用此方法请求所有已安排好的传输运行。

字段
parent

string

要为其检索转移作业运行的转移作业配置的名称。转移作业配置资源名称采用 projects/{project_id}/transferConfigs/{config_id} 格式。

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.get

states[]

TransferState

指定此参数后,系统仅返回具有所请求的状态的转移作业运行。

page_token

string

分页令牌,可用于请求特定的 ListTransferRunsRequest 列表结果页面。对于跨多个页面的结果,ListTransferRunsResponse 会输出 next_page 令牌,可用作 page_token 值来请求下一页列表结果。

page_size

int32

页面大小。默认页面大小为最多显示 1000 条结果。

run_attempt

RunAttempt

指示如何提取尝试运行的次数。

RunAttempt

表示应该提取哪些运行。

枚举
RUN_ATTEMPT_UNSPECIFIED 应返回所有运行。
LATEST 只返回每天最新的运行。

ListTransferRunsResponse

返回的关于项目中的管道的列表。

字段
transfer_runs[]

TransferRun

仅供输出。存储的流水线转移作业运行。

next_page_token

string

仅供输出。下一分页令牌。对于跨多个页面的列表结果,此令牌可用作 ListTransferRunsRequest.page_token 来请求下一页列表结果。

LogTransferRunMessagesRequest

向运行添加传输状态消息的请求。

字段
name

string

资源的名称,格式为"projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}/runs/{run_id}"

transfer_messages[]

TransferMessage

要附加的消息。

ScheduleTransferRunsRequest

为某个时间范围安排传输运行的请求。

字段
parent

string

转移作业配置名称,格式为 projects/{project_id}/transferConfigs/{config_id}

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

labels

map<string, string>

要添加到已安排的运行中的用户标签。

start_time

Timestamp

转移作业运行时间范围的开始时间。例如 "2017-05-25T00:00:00+00:00"

end_time

Timestamp

转移作业运行时间范围的结束时间。例如 "2017-05-30T00:00:00+00:00"

ScheduleTransferRunsResponse

为一个时间范围安排传输运行的响应。

字段
runs[]

TransferRun

已安排的转移作业运行。

StartBigQueryJobsRequest

启动和监控 BigQuery 加载作业的请求。

字段
name

string

资源的名称,格式为"projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}/runs/{run_id}"

imported_data[]

ImportedDataInfo

应启动和监控的导入作业。

user_credentials

bytes

应该在启动/监控 BigQuery 作业时使用的用户凭据。如果未指定,则使用数据源服务帐号凭据启动作业。这可以是 OAuth 令牌或 JWT 令牌。

TransferConfig

表示数据传输配置。转移作业配置包含执行数据转移作业所需的所有元数据。例如,destination_dataset_id 指定数据应存储在何处。创建新转移作业配置时,系统会根据需要创建指定的 destination_dataset_id,并将其提供给相应的数据源服务帐号。

字段
name

string

转移作业配置的资源名称。转移作业配置名称采用 projects/{project_id}/locations/{region}/transferConfigs/{config_id} 格式。该名称是系统根据 CreateTransferConfigRequest 中指定的 config_id 以及 project_id 和地区自动生成的。如果未提供 config_id,系统通常会为 config_id 生成一个 uuid,即使不一定生成或者不需要该 uuid 也是如此。

destination_dataset_id

string

BigQuery 目标数据集 ID。

display_name

string

用户为数据转移作业指定的显示名。

data_source_id

string

数据源 ID。 创建数据转移作业后,就无法再更改该 ID。

params

Struct

特定于数据转移作业的参数。

schedule

string

数据转移作业时间表。如果数据源不支持自定义时间表,则此字段应为空。如果此字段为空,系统会使用该数据源的默认值。指定的时间采用世界协调时间 (UTC)。有效格式的示例:1st,3rd monday of month 15:30every wed,fri of jan,jun 13:15first sunday of quarter 00:00。请点击以下链接,查看有关该格式的更多说明:https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format。注意:时间粒度至少应为 8 小时或更低频率。

data_refresh_window_days

int32

自动刷新数据时所对应的回溯天数。 例如,如果 data_refresh_window_days = 10,BigQuery 每天会重新提取 [today-10, today-1] 的数据,而不是仅提取 [today-1] 的数据。仅在数据源支持该功能时有效。将该值设为 0 可使用默认值。

disabled

bool

表示此配置是否处于停用状态。 如果设置为 true,则系统不会为指定转移作业安排任何运行。

update_time

Timestamp

仅供输出。数据转移作业修改时间。对于输入,服务器会忽略该项。

next_run_time

Timestamp

仅供输出。数据转移作业的下次运行时间。

state

TransferState

仅供输出。最近更新的转移作业运行的状态。

user_id

int64

已弃用。用户的唯一 ID,转移作业由其他方代表该用户完成。

dataset_region

string

仅供输出。BigQuery 数据集所在的地区。

partner_token

string

用于标识存储在外部合作伙伴端的转移作业设置的唯一标识符。该令牌对于 DTS 来说是不透明的,只能由合作伙伴进行解释。合作伙伴数据源应在配置 ID 和该令牌之间创建映射,以验证转移作业配置/运行是否合法。

partner_connection_info

Struct

由合作伙伴数据源管理的转移作业设置。这些信息以键值对的形式存储,仅用于 DTS 界面显示目的。我们不想将它们与“params”参数存储在一起,原因有两个:- 连接信息由合作伙伴提供,且在 DTS 界面中不可修改,这与不可变参数不同。通过将不同的布尔值添加到 DataSourceParameter 来区分它们会令人困惑。- 连接信息可以是任意键值对。如果要将这些参数添加到 params 字段中,合作伙伴必须在数据源定义中为它们提供定义。为合作伙伴免去这一操作会更友好。

TransferMessage

表示向用户显示的有关特定数据传输运行的消息。

字段
message_time

Timestamp

记录消息的时间。

severity

MessageSeverity

消息严重性。

message_text

string

消息文字。

MessageSeverity

表示向数据传输用户显示的消息的严重性。

枚举
MESSAGE_SEVERITY_UNSPECIFIED 未指定严重性。
INFO 提供信息的消息。
WARNING 警告消息。
ERROR 错误消息。
DEBUG 调试消息。

TransferRun

表示数据传输运行。

字段
name

string

转移作业运行的资源名称。转移作业运行名称采用 projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id} 格式。创建转移作业运行时,系统将忽略该名称。

labels

map<string, string>

用户标签。

schedule_time

Timestamp

在开始转移作业运行之前需要等待的最短时间。

run_time

Timestamp

对于批量转移作业运行,请指定应在什么日期和时间获取数据。

error_status

Status

转移作业运行的状态。

start_time

Timestamp

仅供输出。转移作业运行开始的时间。对于输入请求,服务器将忽略该参数。

end_time

Timestamp

仅供输出。转移作业运行结束的时间。对于输入请求,服务器将忽略该参数。

update_time

Timestamp

仅供输出。数据转移作业运行状态的上次更新时间。

params

Struct

仅供输出。特定于数据转移作业的参数。

destination_dataset_id

string

仅供输出。BigQuery 目标数据集 ID。

data_source_id

string

仅供输出。数据源 ID。

state

TransferState

数据转移作业运行状态。对于输入请求,系统会忽略此参数。

user_id

int64

已弃用。用户的唯一 ID,转移作业由其他方代表该用户完成。

schedule

string

仅供输出。如果此转移作业运行是定期创建的,则说明其时间表。对于手动安排的批量转移作业运行,此字段为空。注意:系统可能会根据当前负载选择将时间安排往后推迟,因此 schedule_time 不一定始终与此时间表相符。

partner_token

string

仅供输出。此令牌是从 TransferConfig 初始化的令牌。合作伙伴令牌是用于标识存储在外部合作伙伴端的转移作业设置的唯一标识符。该令牌对于 DTS 来说是不透明的,只能由合作伙伴进行解释。合作伙伴数据源应在配置 ID 和该令牌之间创建映射,以验证转移作业配置/运行是否合法。

TransferState

表示数据传输运行状态。

枚举
TRANSFER_STATE_UNSPECIFIED 状态占位符。
PENDING 已安排数据传输,正在等待数据传输后端进行接收。
RUNNING 数据转移作业正在执行。
SUCCEEDED 数据转移作业已成功完成。
FAILED 数据转移作业失败。
CANCELLED 数据传输已取消。

TransferType

已弃用。表示数据传输类型。

枚举
TRANSFER_TYPE_UNSPECIFIED 无效或未知的传输类型占位符。
BATCH 批量数据传输。
STREAMING 流式数据传输。流式传输数据源当前不支持每个项目具有多个传输配置。

UpdateDataSourceDefinitionRequest

表示 UpdateDataSourceDefinition 方法的请求。

字段
data_source_definition

DataSourceDefinition

数据源定义。

必须对指定的资源 dataSourceDefinition 具有以下 Google IAM 权限才能进行授权:

  • bigquery.datasources.update

update_mask

FieldMask

更新字段掩码。

UpdateTransferConfigRequest

更新传输配置的请求。要更新传输配置的用户 ID,则需要提供授权代码。

字段
transfer_config

TransferConfig

要创建的数据转移作业配置。

必须对指定的资源 transferConfig 具有以下 Google IAM 权限才能进行授权:

  • bigquery.transfers.update

authorization_code

string

要在此转移作业配置中使用的 OAuth2 授权代码(可选)。如果提供该授权代码,则转移作业配置将与授权用户相关联。要获取 authorization_code,请向以下链接所指向的网页发出请求:https://www.gstatic.com/bigquerydatatransfer/oauthz/auth?client_id=&scope=&redirect_uri=

  • client_id 应该是适用于指定数据源(ListDataSources 方法所返回的数据源)的 BigQuery DTS API 的 OAuth client_id。
  • data_source_scopes 是 ListDataSources 方法返回的范围。
  • redirect_uri 是可选参数。如果未指定该参数,则授权代码会发布至授权流窗口的开启者。否则,它将发送到重定向 URI。urn:ietf:wg:oauth:2.0:oob 这个特殊值表示应在浏览器的标题栏中返回授权代码,同时在页面上显示文字,提示用户复制该代码并将其粘贴到应用中。

update_mask

FieldMask

要在此请求中更新的必填字段列表。

UpdateTransferRunRequest

更新传输运行的请求。

字段
transfer_run

TransferRun

必须设置运行名称,并且保证其对应于已有运行。仅更新 state、error_status 和 data_version 字段。所有其他字段均会被忽略。

update_mask

FieldMask

要在此请求中更新的必需字段列表。

WriteDisposition

用于向表中写入数据的选项。WRITE_EMPTY 选项是有意从枚举中排除的,而且不受数据转移作业服务支持。

枚举
WRITE_DISPOSITION_UNSPECIFIED 默认的 writeDispostion
WRITE_TRUNCATE 覆盖表数据。
WRITE_APPEND 数据会附加到表中。请注意,如果使用此模式,可能会出现重复。