- HTTP 请求
- 路径参数
- 请求正文
- 响应正文
- 授权范围
- ImportedDataInfo
- TableDefinition
- 格式
- 编码
- CsvOptions
- RecordSchema
- FieldSchema
- 类型
- WriteDisposition
- 试试看!
通知 Data Transfer Service,向它表明数据已可供加载。此时 Data Transfer Service 会启动,并监控一次传输运行的多个 BigQuery 加载作业。受到监控的作业会自动重试,并在开始和完成作业时生成日志。您可以为相同的传输运行操作多次调用该服务。
HTTP 请求
POST https://bigquerydatatransfer.googleapis.com/v1/{name=projects/*/locations/*/transferConfigs/*/runs/*}:startBigQueryJobs
网址采用 gRPC 转码语法。
路径参数
参数 | |
---|---|
name |
资源名称采用如下形式:“projects/{projectId}/locations/{locationId}/transferConfigs/{config_id}/runs/{run_id}” |
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 | |
---|---|
{
"importedData": [
{
object( |
字段 | |
---|---|
importedData[] |
应启动和监控的导入作业。 |
userCredentials |
应该在启动/监控 BigQuery 作业时使用的用户凭据。如果未指定,则使用数据源服务帐号凭据启动作业。这可以是 OAuth 令牌或 JWT 令牌。 这是一个 base64 编码的字符串。 |
响应正文
如果成功,则响应正文将为空。
授权范围
需要以下 OAuth 范围:
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅身份验证概览。
ImportedDataInfo
描述应该导入的数据。
JSON 表示形式 | |
---|---|
{ "sql": string, "destinationTableId": string, "destinationTableDescription": string, "tableDefs": [ { object( |
字段 | |
---|---|
sql |
要运行的 SQL 查询。如果此字段为空,API 会检查是否只指定了一个 table_def,并加载此表。此字段仅接受标准 SQL 查询。不允许使用旧版 SQL。 |
destinationTableId |
表示应将结果写入的表。 |
destinationTableDescription |
目标表的说明。此说明可以是几个句子,也可以是几个段落,用于详细描述表的内容。 |
tableDefs[] |
在不带“sql”参数使用时,用于说明目标表的架构。与“sql”参数一起使用时,用于说明包含 BigQuery 外部数据的表。 |
userDefinedFunctions[] |
用户定义的函数资源的内嵌代码。如果“sql”参数为空,则系统会忽略此字段。 |
writeDisposition |
指定目标表已存在时执行的操作。 |
TableDefinition
外部表定义。这些表可以在查询中使用“name”引用,并且可以像读取其他任何表一样读取。
JSON 表示形式 | |
---|---|
{ "tableId": string, "sourceUris": [ string ], "format": enum( |
字段 | |
---|---|
tableId |
BigQuery tableid(必需)。 此字段用于在查询中引用此表。 |
sourceUris[] |
要导入的数据的 URI。所有 URI 均必须来自同一存储系统。 |
format |
说明 source_uri 中数据的格式。 |
maxBadRecords |
指定可以忽略的最大错误记录数。如果错误记录数超过此阈值,则查询会取消。 |
encoding |
输入的字符编码(CSV、JSON),在适用情况下指定。默认为 UTF8。 |
csvOptions |
CSV 特定选项。 |
schema |
数据的可选架构。如果没有为 JSON 和 CSV 格式指定此字段,我们会尝试自动检测。 |
ignoreUnknownValues |
表示是否允许表架构中不存在的额外值。 |
格式
数据格式。
枚举 | |
---|---|
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。 |
编码
采用 CSV/JSON 格式的输入数据的编码。
枚举 | |
---|---|
ENCODING_UNSPECIFIED |
默认编码 (UTF8)。 |
ISO_8859_1 |
ISO_8859_1 编码。 |
UTF8 |
UTF8 编码。 |
CsvOptions
CSV 特定选项。
JSON 表示形式 | |
---|---|
{ "fieldDelimiter": string, "allowQuotedNewlines": boolean, "quoteChar": string, "skipLeadingRows": string, "allowJaggedRows": boolean } |
字段 | |
---|---|
fieldDelimiter |
分隔符。我们目前将此字段限制为 U+0001 到 U+00FF,并在验证期间应用其他约束。 |
allowQuotedNewlines |
表示是否允许 CSV 文件包含带英文引号的换行符。如果允许使用带引号的换行符,则无法拆分 CSV 文件。 |
quoteChar |
英文引号字符。我们目前将此字段限制为 U+0000 到 U+00FF,并在验证期间应用其他约束。如果将此字段设置为“\0”,则表示不使用英文引号。 |
skipLeadingRows |
要跳过的前导行数。 |
allowJaggedRows |
接受末尾处缺少可选列的行。 |
RecordSchema
说明要提取的数据的模式。
JSON 表示形式 | |
---|---|
{
"fields": [
{
object( |
字段 | |
---|---|
fields[] |
记录中每列一个字段。 |
FieldSchema
定义已导入的数据中字段的架构。
JSON 表示形式 | |
---|---|
{ "fieldName": string, "type": enum( |
字段 | |
---|---|
fieldName |
字段名称。匹配:[A-Za-z_][A-Za-z_0-9]{0,127} |
type |
字段类型 |
isRepeated |
表示字段是否重复。 |
description |
此字段的说明。 |
schema |
表示类型是否 == 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)。 |
WriteDisposition
用于向表中写入数据的选项。WRITE_EMPTY 选项是有意从枚举中排除的,而且不受数据转移作业服务支持。
枚举 | |
---|---|
WRITE_DISPOSITION_UNSPECIFIED |
默认的 writeDispostion |
WRITE_TRUNCATE |
覆盖表数据。 |
WRITE_APPEND |
数据会附加到表中。请注意,如果使用此模式,可能会出现重复。 |