本文档详述了 bq
命令行工具的命令和标志。如需了解如何使用 bq
命令行工具,请参阅使用 bq
命令行工具。
全局标志
您可以将以下全局标志与 bq
命令行工具配合使用。
[已弃用] bq
授权标志
bq
授权标志已弃用。如需为 bq
命令行工具配置授权,请参阅授权 Cloud SDK 工具。
--application_default_credential_file
- 如需了解详情,请参阅为服务器到服务器生产应用设置身份验证。默认值为
''
。 --credential_file
- 此标志表示用于存储 OAuth 令牌的文件名。默认值为
$HOME/.bigquery.v2.token
。 --service_account
- 此服务帐号电子邮件地址用于授权。例如:
1234567890@developer.gserviceaccount.com
。默认值为''
。 --service_account_credential_file
- 此标志表示用作服务帐号凭据存储的文件。如果您在使用服务帐号,则必须设置此标志。
--service_account_private_key_file
- 此标志表示包含服务帐号私钥的文件。如果指定了
--service_account
标志,则此标志为必需。默认值为''
。 --service_account_private_key_password
- 此标志表示私钥密码。该密码必须与您在创建密钥时所设置的密码匹配。默认值为
notasecret
。 --use_gce_service_account
- 指定此标志,以便在 Compute Engine 实例上运行时使用服务帐号凭据,而不是存储的凭据。如需了解详情,请参阅为实例创建和启用服务帐号。默认值为
false
。
bq
全局标志
--api
- 此标志表示要调用的 API 端点。默认值为
https://www.googleapis.com
。
--api_version
此标志表示要使用的 API 版本。默认值为 v2
。
--apilog
- 所有 API 请求和响应都会记录到此标志指定的文件中。您还可以使用
stdout
和stderr
。如果您指定空字符串 (''
),则会记录到stdout
。 --bigqueryrc
- 此标志表示
bq
命令行工具配置文件的路径。该配置文件指定任意标志的新默认值,可通过在命令行中指定该标志进行替换。如果未指定--bigqueryrc
标志,则使用BIGQUERYRC
环境变量。如果未指定该变量,则会使用路径~/.bigqueryrc
。默认值为$HOME/.bigqueryrc
。 --ca_certificates_file
- 此标志表示您的 CA 证书文件所在的位置。默认值为
''
。 --dataset_id
- 此标志表示要用于请求的默认数据集。系统会在不适用的情况下忽略此标志。您可以将该值设置为
PROJECT:DATASET
或DATASET
。如果未提供PROJECT
,则使用默认项目。您可以通过指定--project_id
标志来替换此设置。默认值为''
。 --debug_mode
- 此标志用于显示 Python 异常的回溯。默认值为
false
。 --disable_ssl_validation
- 此标志会停用 HTTPS 证书验证。默认值为
false
。 --discovery_file
- 此标志表示为了执行发现而要读取的 JSON 文件的文件名。默认值为
''
。 --enable_gdrive
- 在此标志设置为
true
时,会请求一个包含 GDrive 范围的新 OAuth 令牌。如果将此标志设置为false
,则会请求一个不包含 GDrive 范围的新 OAuth 令牌。 --fingerprint_job_id
- 指定是否使用派生自作业配置指纹的作业 ID。这能防止同一个作业意外运行多次。默认值为
false
。 --flagfile
- 如果指定此标志,所提供的文件中的标志定义会插入
bq
命令行工具。默认值为''
。 --format
此标志指定命令输出的格式。选项包括:
pretty
:设置了格式的表输出sparse
:较为简单的表输出prettyjson
:简单易读的 JSON 格式json
:极其紧凑的 JSONcsv
:带有标题的 csv 格式
pretty
、sparse
和prettyjson
用于提供人类可读的信息。json
和csv
用于传递到另一个程序。如果指定了none
,命令不会产生任何输出。如果没有--format
标志,则根据命令选择适当的输出格式。--headless
此标志指定是否在无用户交互的情况下运行
bq
会话。在此标志设置为true
时,系统会停用交互。例如,debug_mode
不会进入调试程序,信息输出的频率会降低。默认值为false
。--httplib2_debuglevel=DEBUG_LEVEL
此标志指定是否显示 HTTP 调试信息。如果
DEBUG_LEVEL
大于 0,则除了错误消息之外,还会将 HTTP 服务器请求和响应记录到 stderr。如果DEBUG_LEVEL
不大于 0,或者未使用--httplib2_debuglevel
标志,则仅会提供错误消息。例如
--httplib2_debuglevel=1
--job_id
- 此标志表示要用于请求的唯一作业 ID。如果在作业创建请求中未指定此标志,则生成一个任务 ID。此标志仅适用于创建作业的命令:
cp
、extract
、load
和query
。如需了解详情,请参阅以编程方式运行作业。 --job_property
- 此标志表示要在作业配置的属性字段中包含的键值对。重复使用此标志可指定更多属性。
--location
此标志表示与您的单地区或多地区位置相对应的字符串。在您使用
-j
标志显示有关作业的信息时,cancel
命令和show
命令需要此位置标志。对于以下命令,位置标志为可选项。所有其他命令均会忽略
--location
标志。--max_rows_per_request
此标志表示一个整数,它指定了每次读取时返回的最大行数。
--project_id
此标志表示要为请求使用的项目 ID。默认值为
''
。--proxy_address
此标志表示要用于连接到 Google Cloud 的代理主机的名称或 IP 地址。默认值为
''
。--proxy_password
此标志表示在向代理主机进行身份验证时使用的密码。默认值为
''
。--proxy_port
此标志表示用于连接到代理主机的端口号。默认值为
''
。--proxy_username
此标志表示在向代理主机进行身份验证时要使用的用户名。默认值为
''
。--quiet
或-q
如果此标志设置为
true
,系统会在作业运行过程中忽略状态更新。默认值为false
。--synchronous_mode
或-sync
如果此标志设置为
true
,系统会等待命令完成后再返回,并使用作业完成状态作为错误代码。如果此标志设置为false
,系统会创建作业,并使用成功完成状态作为错误代码。默认值为true
。--trace
此标志表示以
token:TOKEN
形式指定,要包括在 API 请求中的跟踪令牌。
特定于命令的标志
您可以在 bq
命令行工具中使用以下命令标志。
bq add-iam-policy-binding
add-iam-policy-binding
命令只需一步,即可检索资源(表或视图)的身份和访问权限管理 (IAM) 政策并向该政策添加绑定。
此命令是执行以下三个步骤的替代方法:
- 使用
get-iam-policy
命令检索政策文件(采用 JSON 格式) - 修改政策文件
- 使用
set-iam-policy
命令通过新绑定更新政策。
用法:
bq add-iam-policy-binding --member="MEMBER" --role="ROLE" [-COMMAND_FLAGS] RESOURCE_IDENTIFIER
add-iam-policy-binding
命令使用如下特定于命令的标志和参数。
--member
- IAM 政策绑定的成员部分。
--member
标志必须与--role
标志同时指定。--member
和--role
的一个组合等同于一个绑定。如需详细了解绑定,请参阅 IAM 政策参考文档。 --role
- IAM 政策绑定的角色部分。
--role
标志必须与--member
标志同时指定。--member
和--role
标志的一个组合等同于一个绑定。如需详细了解绑定,请参阅 IAM 政策参考文档。 -t --table/view
- 指定此标志时,系统会向表或视图的 IAM 政策添加绑定。可选。默认值为
false
。
RESOURCE_IDENTIFIER 是要更新其政策的资源(表或视图)。
bq cancel 命令
cancel
命令用于取消作业。cancel
命令没有特定于命令的标志。
如需详细了解如何使用 cancel
命令,请参阅管理作业。
cancel
命令使用如下全局标志。
--job_id
- 此标志表示用于取消请求的唯一作业 ID。您可以在不使用
--job_id
标志的情况下指定任务 ID,例如:bq cancel JOB_ID
。 --synchronous_mode
或--sync
- 如果指定了此标志,系统会等待命令完成后再返回。如果此标志设置为
false
,命令会立即返回。默认值为true
。
bq cp 命令
cp
命令用于复制表。cp
命令使用以下特定于命令的标志。
如需详细了解如何使用 cp
命令,请参阅管理表。
--append_table
或-a
- 指定此标志时,系统会复制一个表,并将其附加到一个现有表。默认值为
false
。 --destination_kms_key
- 此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--force
或-f
- 指定此标志时,如果目标表已存在,系统会覆盖此表并且不会给出提示。默认值为
false
。 --no_clobber
或-n
- 指定此标志时,如果目标表已存在,系统不会覆盖此表。默认值为
false
。
bq extract 命令
extract
命令用于将表数据导出至 Cloud Storage。
如需详细了解如何使用 extract
命令,请参阅导出表数据。
用法:
bq extract [-COMMAND_FLAGS] 'RESOURCE_IDENTIFIER' DESTINATION
extract
命令使用以下特定于命令的标志:
--compression
- 此标志表示用于导出的文件的压缩类型。可能的值包括
GZIP
(仅限 CSV 和 JSON)、DEFLATE
(仅限 Avro)、SNAPPY
(仅限 Avro)和NONE
。默认值为NONE
。 --destination_format
此标志表示导出数据的格式设置。可能的值包括:
CSV
NEWLINE_DELIMITED_JSON
AVRO
默认值为
CSV
。--field_delimiter
或-F
此标志代表指明 CSV 导出的输出文件中各列之间边界的字符。可以使用
\t
和tab
作为制表符分隔符。--print_header
或--noprint_header
如需禁止针对带有标题的格式输出标题行,请指定
--noprint_header
。如果指定了--print_header
,或者两个标志均未使用,则标题行包含在内。
例如:
bq extract --compression GZIP --destination_format CSV --field_delimiter tab --noprintheader 'myDataset.myTable' gs://my-bucket/myFile.csv.gzip
bq get-iam-policy
get-iam-policy
命令检索资源(表或视图)的 IAM 政策,并将其打印到标准输出。此政策采用 JSON 格式。
如需详细了解 get-iam-policy
命令和示例,请参阅表访问权限控制简介。
用法:
bq get-iam-policy [-COMMAND_FLAG] RESOURCE_IDENTIFIER
get-iam-policy
命令使用以下特定于命令的标志。
-t --table/view
指定此标志时,系统会获取表或视图的 IAM 政策。可选。默认值为
false
。RESOURCE_IDENTIFIER 是要更新其政策的资源(表或视图)。
bq head 命令
head
命令显示表中的行。
如需详细了解如何使用 head
命令,请参阅管理表数据。
head
命令使用以下特定于命令的标志。
--job
或-j
- 如果指定了此标志并且提供有效的任务 ID,则会读取查询作业的结果。默认值为
false
。 --max_rows
或-n
- 此标志代表一个整数,指定了在显示表数据时要打印的行数。默认值为
100
。 --selected_fields
或-c
- 此标志表示英文逗号分隔列表,指定了在显示表数据时要返回的字段子集(包括嵌套字段和重复字段)。如果未指定此标志,则检索所有列。
--start_row
或-s
- 此标志代表一个整数,指定了显示表数据之前要跳过的行数。默认值是
0
(从第一行开始)。 --table
或-t
- 指定此标志并附带表 ID 即可从表中读取行。默认值为
false
。
bq insert 命令
insert
命令允许您使用信息流缓冲区,插入以换行符分隔的 JSON 格式数据行。数据类型会被转换以匹配目标表的列类型。此命令仅用于测试目的。如需将数据流式传输到 BigQuery 中,请使用 insertAll
API 方法。
如需了解详情,请参阅将数据流式传输到 BigQuery 中。
用法:
bq insert [COMMAND_FLAGS] TABLE FILE
insert
命令使用以下特定于命令的标志。
--ignore_unknown_values
或-i
- 如果指定此标志,系统会忽略与表架构不匹配的任何键值对,并插入所含数据与该架构匹配的行。如果未指定此标志,则系统不会插入所含数据与表架构不匹配的行。
--skip_invalid_rows
或-s
- 如果指定此标志,系统会尝试插入所有有效行,即便出现无效行时也是如此。如果未指定此标志,则在出现任何无效行时,该命令会失败。
--template_suffix
或-x
- 指定此标志时,系统会将目标表视为基本模板,并将行插入到名为
{destination}{templateSuffix}
的实例表中。BigQuery 会使用基本模板的架构创建实例表。
示例:
bq insert --ignore_unknown_values myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
bq load 命令
load
命令将数据加载到表中。
如需详细了解如何使用 load
命令从 Cloud Storage 加载数据,请参阅:
如需详细了解如何使用 load
命令从本地源加载数据,请参阅从本地文件加载数据。
load
命令使用以下特定于命令的标志。
--allow_jagged_rows
- 指定此标志时,系统允许 CSV 数据末尾缺少可选列。
--allow_quoted_newlines
- 指定此标志时,系统允许 CSV 数据中引号括起来的内容中包含换行符。
--autodetect
- 指定此标志时,系统会为 CSV 和 JSON 数据启用架构自动检测。
--clustering_fields
- 此标志表示英文逗号分隔的列名称(最多 4 个)列表。
--destination_kms_key
- 此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--encoding
或-E
- 数据中使用的字符编码。可能的值包括:
- ISO-8859-1(也称为 Latin-1)
- UTF-8
--field_delimiter
或-F
- 此标志代表的是指明数据中各列之间边界的字符。可以使用
\t
和tab
作为制表符分隔符。 --ignore_unknown_values
- 如果指定此标志,则对于 CSV 和 JSON 文件,系统会忽略所含额外列值与表架构不匹配的行,并且不会加载这些行。同样,对于 Avro、Parquet 和 ORC 文件,系统会忽略表架构中不存在的文件架构中的字段,并且不会加载这些字段。
--max_bad_records
- 此标志表示一个整数,指定了作业中允许的最大错误记录数量,超过此数量之后,整个作业就会失败。默认值为
0
。无论--max_bad_records
值是多少,任意类型的错误最多返回 5 个。 --null_marker
- 此标志表示一个可选的自定义字符串,该字符串代表 CSV 数据中的一个
NULL
值。 --projection_fields
- 如果将此标志与设置为
DATASTORE_BACKUP
的--source_format
配合使用,则表示要以英文逗号分隔列表形式从 Datastore 导出文件中加载哪些实体属性。属性名称区分大小写,且必须是顶级属性。默认值为''
。此标志也可与 Firestore 导出文件一起使用。 --quote CHARACTER
- 如需指定字段两侧的英文引号字符,请添加此标志。
CHARACTER
参数可以是任何单字节字符。默认值为"
(英文双引号)。如需指定不用英文引号字符,请使用空字符串 (""
)。 --replace
- 指定此标志时,系统会在加载新数据时清空现有的任何数据和架构。除非您指定
--destination_kms_key
标志,否则所有 Cloud KMS 密钥也会被移除。默认值为false
。您可以使用TRUNCATE TABLE
语句从表中移除所有行,而无需删除架构。 --schema
- 此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE,FIELD:DATA_TYPE
。 --schema_update_option
在将数据附加到表时(在加载作业或查询作业中),或者覆盖表分区时,此标志可指定如何更新目标表的架构。可能的值包括:
ALLOW_FIELD_ADDITION
:允许添加新字段ALLOW_FIELD_RELAXATION
:允许将REQUIRED
字段放宽为NULLABLE
重复使用此标志可指定多个架构更新选项。
--skip_leading_rows
此标志表示一个整数,指定了在源文件开头处要跳过的行数。
--source_format
此标志表示源数据的格式。可能的值包括:
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
PARQUET
ORC
--time_partitioning_expiration
此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_field
该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。
--time_partitioning_type
此标志会在表上启用基于时间的分区,并设置分区类型。可能的值包括
DAY
、HOUR
、MONTH
或YEAR
。 基于时间的分区的默认分区类型为DAY
。
--use_avro_logical_types
:如果 sourceFormat
设置为 AVRO
,此标志表示是否将逻辑类型转换为对应的类型(如 TIMESTAMP
),而不是仅使用其原始类型(如 INTEGER
)。
--decimal_target_types
:确定如何转换 Decimal
逻辑类型。相当于 JobConfigurationLoad.decimalTargetTypes。重复使用此标志可以指定多个目标类型。
bq ls 命令
ls
命令会列出一个集合中的对象。
如需详细了解如何使用 ls
命令,请参阅:
ls
命令使用以下特定于命令的标志。
--all
或-a
- 指定此标志时,系统会显示所有结果:来自所有用户或所有数据集(包括隐藏的数据集)的作业。在列出转移作业配置或转移作业运行时,不需要使用此标志。
--capacity_commitment
- 指定此标志时,系统会列出容量承诺。默认值为
false
。 --datasets
或-d
- 指定此标志时,系统会列出数据集。默认值为
false
。 --filter "FILTER"
列出与
FILTER
匹配的数据集,包括一个或多个以空格分隔的三元组,格式为labels.KEY:VALUE
。如果提供了多个三元组,则系统仅会返回与所有三元组匹配的数据集(即使用 AND 逻辑运算符,而非 OR)。如需根据数据集标签进行过滤,请使用您应用于数据集的键和值。例如
--filter "labels.department:marketing labels.team:sales"
如需根据转移作业配置进行过滤,请将
dataSourceIds
用作键,并将以下数据源之一用作值:amazon_s3
- Amazon S3 数据转移dcm_dt
- Campaign Manager 数据转移google_cloud_storage
- Cloud Storage 数据转移cross_region_copy
- 数据集副本dfp_dt
- Google Ad Manager 数据转移adwords
- Google Ads 数据转移merchant_center
- Google Merchant Center 数据转移play
- Google Play 数据转移doubleclick_search
- Search Ads 360 数据转移youtube_channel
- YouTube 频道数据转移youtube_content_owner
- YouTube 内容所有者数据转移redshift
- Amazon Redshift 迁移on_premises
- Teradata 迁移
--filter "labels.dataSourceIds:dcm_dt"
如需根据转移作业运行进行过滤,请将
states
用作键,并将以下转移作业状态之一用作值:SUCCEEDED
FAILED
PENDING
RUNNING
CANCELLED
例如
--filter "labels.states:FAILED"
--jobs
或-j
指定此标志时,系统会列出作业。默认值为
false
。默认情况下,结果数上限为 10 万个。--max_creation_time
此标志是一个整数,表示时间戳(以毫秒为单位)。与
-j
标志一同指定时,此标志会列出在时间戳之前创建的作业。--max_results
或-n
此标志表示一个整数,用于指明最大结果数。默认值为 50。
--min_creation_time
此标志是一个整数,表示时间戳(以毫秒为单位)。与
-j
标志一同指定时,此标志列出在时间戳之后创建的作业。--message_type
此标志以
messageTypes:MESSAGE_TYPE
的形式指定,用于列出特定类型的转移运行日志消息。可能的值包括:INFO
WARNING
ERROR
--models
或-m
指定此标志时,系统会列出 BigQuery 机器学习模型。
--page_token
或-k
指定此标志时,系统会列出从此页面标记开始的项。
--projects
或-p
指定此标志时,系统会显示所有项目。默认值为
false
。--reservation
指定此标志时,系统会列出给定项目和位置的所有预留。默认值为
false
。--reservation_assignment
指定此标志时,系统会列出给定项目和位置的所有预留分配。默认值为
false
。--run_attempt
如果将此标志设置为
LATEST
,系统仅会列出一项转移作业的最新运行。--transfer_config
指定此标志时,系统会列出转移配置。使用此标志时,您必须同时指定
--transfer_location
。默认值为false
。--transfer_location
此标志会列出指定位置的转移配置。您要在创建传输时设置传输位置。
--transfer_log
指定此标志时,系统会列出指定转移运行的转移日志消息。默认值为
false
。--transfer_run
指定此标志时,系统会列出转移运行。默认值为
false
。
bq mk 命令
mk
命令会创建各种 BigQuery 资源,包括数据集、表、视图、具体化视图、转移作业配置。
mk
命令接受一个类型标志,用于指定要创建的资源类型以及依赖于资源类型的其他标志。
bq mk TYPE_FLAG [ OTHER FLAGS ] [ ARGS ]
其中 TYPE_FLAG 可为以下项之一:
--capacity_commitment
:购买容量承诺。--dataset
或-d
:创建数据集。--materialized_view
:创建具体化视图。--reservation
:创建预留。--reservation_assignment
:为预留分配文件夹、项目或组织。--table
或-t
:创建表。--transfer_config
:创建转移作业配置。--view
:创建视图。--transfer_run
:为某个时间范围创建转移作业运行。
除了下面列出的特定于命令的标志之外,bq mk
还支持以下标志:
--force
或-f
- 如果已存在同名资源,请忽略错误。指定此标志时,如果资源已存在,则退出代码为 0。此标志不会导致
mk
命令覆盖资源。默认值为false
。
bq mk --capacity_commitment
购买容量承诺。如需了解详情,请参阅处理承诺。支持以下标志:
--location
- 项目的位置。
--plan
- 计划类型。以下各项中的一项:
FLEX
、MONTHLY
、ANNUAL
。 --project_id
- 管理槽的项目的 ID。
--slots
- 要购买的槽数。
bq mk --dataset
创建数据集。如需了解详情,请参阅创建数据集。支持以下标志:
--data_location
- (旧版)此标志指定数据集的位置。应改为使用
--location
全局标志。 --default_kms_key
- 此标志指定在创建或查询表期间未明确提供密钥的情况下,用于加密数据集中的表数据的 Cloud KMS 密钥。
--default_partition_expiration
- 此标志表示一个整数,用于指定数据集中新创建的分区表中所有分区的默认到期时间(以秒为单位)。分区的到期时间设置为分区的世界协调时间 (UTC) 日期加上这个整数值。如果设置了该属性,则该属性将替换数据集级层的默认表到期时间(如果存在)。如果在创建或更新分区表时提供
--time_partitioning_expiration
标志,则表级分区到期时间优先于数据集级默认分区到期时间。 --default_table_expiration
- 此标志表示一个整数,用于指定数据集中新创建的表的默认生命周期(以秒为单位)。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--description
- 数据集的说明。
--label
- 数据集的标签。格式为
KEY:VALUE
。重复使用此标志可以指定多个标签。
bq mk --materialized_view
创建具体化视图。支持以下标志:
--enable_refresh
- 此标志表示是否为具体化视图启用自动刷新。创建具体化视图时,默认值为
true
。 --refresh_interval_ms
- 此标志表示具体化视图的刷新间隔时间(以毫秒为单位)。如果未指定此标志,则启用了刷新功能的具体化视图的刷新间隔时间为 180 万毫秒,即 30 分钟。
如需了解详情,请参阅创建和使用具体化视图。
bq mk --reservation
使用专用槽创建预留。如需了解详情,请参阅处理预留。支持以下标志:
--ignore_idle_slots
- 如果为
true
,则在此预留中运行的作业将仅使用分配给该预留的槽。如果为false
,则此预留中的作业可以使用其他预留中的空闲槽或未分配给任何预留的槽。默认值为false
。如需了解详情,请参阅空闲槽。 --location
- 项目的位置。
--project_id
- 拥有预留的项目的 ID。
--slots
- 要分配给此预留的槽数。
bq mk --reservation_assignment
将项目、文件夹或组织分配到预留。如需了解详情,请参阅处理分配。 支持以下标志:
--assignee_id
- 文件夹、组织或项目的 ID。
--assignee_type
- 要分配给预留的实体类型。以下各项中的一项:
FOLDER
、ORGANIZATION
或PROJECT
。 --job_type
- 要分配给预留的作业类型。以下各项中的一项:
QUERY
、PIPELINE
或ML_EXTERNAL
。 --location
- 项目的位置。
--project_id
- 拥有预留的项目的 ID。
reservation_id
- 预留的 ID。
bq mk --table
创建一个表。如需了解详情,请参阅创建和使用表。支持以下标志:
--clustering_fields
- 此标志表示为表划分聚簇的列名称的英文逗号分隔列表。指定此标志时,系统使用所提供的列对表进行聚簇。如果与分区一起指定,系统首先会对表进行分区,然后使用所提供的列对每一个分区进行聚簇。
--description
- 表的说明。
--destination_kms_key
- 此标志表示用于加密表数据的 Cloud KMS 密钥。
--expiration
- 表示一个整数,用于指定表的到期时间。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--external_table_definition
- 此标志指定用于创建外部表的表定义。其值可以是内嵌表定义,也可以是包含 JSON 表定义的文件的路径。内嵌定义的格式是
schema@format=uri
。 --label
- 此标志表示要在表上设置的一个标签。格式为
KEY:VALUE
。重复使用此标志可以指定多个标签。 --range_partitioning
将整数范围分区的选项指定为
column_name,start,end,interval
形式的英文逗号分隔列表,其中column_name
是用于创建整数范围分区的列。start
是范围分区的起始值(含边界值)。end
是范围分区的终止值(不含边界值)。interval
是分区中每个范围的宽度。
--require_partition_filter
指定此标志时,此标志用于确定对于在所提供的表上执行的查询,是否需要分区过滤条件。此标志仅适用于分区表。默认值为
false
。--schema
此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE, FIELD:DATA_TYPE
。 默认值为''
。--time_partitioning_expiration
此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_field
该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。
--time_partitioning_type
此标志会在表上启用基于时间的分区,并设置分区类型。可能的值包括
DAY
、HOUR
、MONTH
或YEAR
。
bq mk --transfer_config
创建转移作业配置。支持以下标志:
--data_source
指定数据源。创建转移作业配置时,此标志是必需的。
可能的值包括:
amazon_s3
- Amazon S3 数据转移dcm_dt
- Campaign Manager 数据转移google_cloud_storage
- Cloud Storage 数据转移cross_region_copy
- 数据集副本dfp_dt
- Google Ad Manager 数据转移adwords
- Google Ads 数据转移merchant_center
- Google Merchant Center 数据转移play
- Google Play 数据转移doubleclick_search
- Search Ads 360 数据转移youtube_channel
- YouTube 频道数据转移youtube_content_owner
- YouTube 内容所有者数据转移redshift
- Amazon Redshift 迁移on_premises
- Teradata 迁移
--display_name
- 此标志表示转移作业配置的显示名称。默认值为
''
。 --params
或-p
- 转移作业配置的参数,以 JSON 格式表示:
{"PARAMETER":"VALUE"}
。根据数据源的不同,参数也会有所不同。如需了解详情,请参阅 BigQuery Data Transfer Service 简介。 --refresh_window_days
- 此标志表示一个整数,用于指定转移作业配置的刷新时段(以天为单位)。默认值为
0
。 --target_dataset
- 转移作业配置的目标数据集。默认值为
''
。
如需了解如何将 mk
命令与 BigQuery Data Transfer Service 搭配使用,请参阅:
- 设置 Amazon S3 转移作业
- 设置 Campaign Manager 转移作业
- 设置 Cloud Storage 转移作业
- 设置 Google Ad Manager 转移作业
- 设置 Google Ads 转移作业
- 设置 Google Merchant Center 转移作业(测试版)
- 设置 Google Play 转移作业
- 设置 Search Ads 360 转移作业(Beta 版)
- 设置 YouTube 频道转移作业
- 设置 YouTube 内容所有者转移作业
- 从 Amazon Redshift 迁移数据
- 从 Teradata 迁移数据
bq mk --transfer_run
使用指定的数据转移配置,在指定时间或时间范围创建数据转移运行。
用法:
bq mk --transfer_run [--run_time RUN_TIME | --start_time START_TIME --end_time END_TIME] CONFIG
支持以下标志:
--run_time
- 时间戳,用于指定安排数据转移运行的时间。
--start_time
- 时间戳 ,用于指定一系列数据转移运行的开始时间。
--end_time
- 时间戳 用于指定一系列数据转移运行的结束时间。
时间戳的格式为 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)。
CONFIG
参数指定预先存在的数据转移配置。
示例:
bq mk --transfer_run \ --run_time 2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time 2020-12-19T16:39:57-08:00 \ --end_time 2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
创建视图。如需了解详情,请参阅创建视图。支持以下标志:
--description
- 视图的说明。
--expiration
- 此标志表示一个整数,用于指定视图的到期时间。到期时间设置为当前世界协调时间 (UTC) 加上此值。
--label
- 此标志表示在视图上设置的标签。格式为
KEY:VALUE
。重复使用此标志可以指定多个标签。 --use_legacy_sql
- 如果将此标志设置为
false
,系统会使用标准 SQL 查询创建视图。默认值为true
(使用旧版 SQL)。 --view_udf_resource
- 此标志是一个本地代码文件的 Cloud Storage URI 或路径,该代码文件会被立即加载为用户指定函数资源并评估,以供视图的 SQL 查询使用。重复使用此标志可以指定多个文件。
bq mkdef 命令
mkdef
命令为 Cloud Storage 或 Google 云端硬盘中存储的数据创建 JSON 格式的表定义。
如需详细了解如何使用 mkdef
命令,请参阅为外部数据源创建表定义文件。
mkdef
命令使用以下特定于命令的标志。
--autodetect
- 指定此标志时,系统会为 CSV 和 JSON 数据使用架构自动检测。
--ignore_unknown_values
或-i
- 指定此标志时,系统会忽略未出现在架构中的行内的所有值。
--source_format
此标志表示源数据的格式。可能的值包括:
AVRO
CSV
DATASTORE_BACKUP
GOOGLE_SHEETS
NEWLINE_DELIMITED_JSON
ORC
PARQUET
默认值为
CSV
。
bq partition 命令
partition
命令用于将时间单位后缀表(例如,以表示日期分区的 YYYYMMDD 结尾的表)转换为分区表。
如需详细了解如何使用 partition
命令,请参阅将日期分片表转换为提取时间分区表。
partition
命令使用以下特定于命令的标志。
--no_clobber
或-n
- 指定此标志时,系统不会覆盖现有分区。默认值为
false
。 --time_partitioning_expiration
- 此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_type
- 指定分区类型。可能的值包括
DAY
、HOUR
、MONTH
或YEAR
。 预期的时间单位后缀格式为 YYYYMMDD(对于DAY
)、YYYYMMDDHH(对于HOUR
)、YYYYMM(对于MONTH
)、YYYY(对于YEAR
)。
bq query 命令
query
命令会创建一个运行所提供的 SQL 查询的查询作业。
如需详细了解如何使用 query
命令,请参阅运行交互式查询和批量查询。
query
命令使用以下特定于命令的标志。
--allow_large_results
- 指定此标志时,系统会为旧版 SQL 查询启用较大的目标表大小。
--append_table
- 指定此标志时,系统会将数据附加到目标表。默认值为
false
。 --batch
- 指定此标志时,系统会以批量模式运行查询。默认值为
false
。 --clustering_fields
- 如果指定此标志,系统会使用以英文逗号分隔列的列表为查询中的目标表划分聚簇。指定此标志时,系统使用所提供的列对表进行聚簇。如果与分区一起指定,系统首先会对表进行分区,然后使用所提供的列对每一个分区进行聚簇。
--destination_kms_key
- 此标志表示用于加密目标表数据的 Cloud KMS 密钥。
--destination_schema
- 此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE,FIELD:DATA_TYPE。默认值为
''
。 --destination_table TABLE
指定此标志时,查询结果会保存到
TABLE
。请按以下格式指定TABLE
:PROJECT
:DATASET
.TABLE
。如果未指定PROJECT
,则假定为当前项目。如果未指定--destination_table
标志,则查询结果会保存到临时表中。示例:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run
指定此标志时,系统会对查询进行验证,但不会运行查询。
--external_table_definition
此标志表示在外部表查询中使用的表名称和架构定义。架构可以是本地 JSON 架构文件的路径,也可以是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE,FIELD:DATA_TYPE
。 提供表名称和架构时使用的格式为:TABLE::PATH_TO_FILE
或TABLE::SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
。 重复使用此标志可以查询多个表。--flatten_results
指定此标志时,系统会在旧版 SQL 查询的结果中拼合嵌套字段和重复字段。默认值为
true
。--label
此标志表示要应用于查询作业的标签,格式为
KEY:VALUE
。重复使用此标志可以指定多个标签。--max_rows
或-n
此标志代表一个整数,指定了查询结果中要返回的行数。默认值为
100
。--maximum_bytes_billed
此标志代表一个整数,用于限制查询的计费字节数。如果查询超出此限制,则查询会失败(不会产生费用)。如果未指定此标志,则计费字节数设置为项目默认值。
--min_completion_ratio
[实验性] 此标志表示一个 0 到 1.0 之间的数字,指定了在查询返回之前必须扫描的数据的最小比例。如果未设置此标志,则使用默认服务器值
1.0
。--parameter
此标志表示包含查询参数列表的一个 JSON 文件,或者格式为
NAME:TYPE:VALUE
的一个查询参数。 如果名称为空,则系统会创建一个定位参数。TYPE 可以省略,此时系统会假设应使用如下格式的STRING
值:NAME::VALUE
或::VALUE
。NULL
会生成 null 值。重复使用此标志可以指定多个参数。--replace
如果指定了此标志,系统会使用查询结果覆盖目标表。所有现有数据和架构都会被清空。除非您指定
--destination_kms_key
标志,否则所有 Cloud KMS 密钥也会被移除。默认值为false
。如需移除表中的所有行而不删除架构,请使用TRUNCATE TABLE
语句。--require_cache
如果指定了此标志,则仅在可以从缓存中检索结果时运行查询。
--require_partition_filter
如果指定了此标志,则对于在所提供的表上执行的查询,需要分区过滤条件。此标志只能与分区表一起使用。
--rpc
如果指定了此标志,系统会使用远程过程调用 (RPC) 式的查询 API,而非 REST API
jobs.insert
方法。默认值为false
。--schedule
此标志将查询设置为周期性计划查询。需要有关查询运行频率的计划。示例:
--schedule='every 24 hours'
--schedule='every 3 hours'
--schema_update_option
在将数据附加到表时(在加载作业或查询作业中),或者覆盖表分区时,此标志可指定如何更新目标表的架构。可能的值包括:
ALLOW_FIELD_ADDITION
:允许添加新字段ALLOW_FIELD_RELAXATION
:允许将REQUIRED
字段放宽为NULLABLE
重复使用此标志可指定多个架构更新选项。
--start_row
或-s
此标志代表一个整数,指定了查询结果中要返回的第一行。默认值为
0
。--target_dataset
与
--schedule
一起指定时,此标志会更新计划查询的目标数据集。查询必须是 DDL 或 DML。--time_partitioning_expiration
此标志表示一个整数,指定了应在何时删除基于时间的分区(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_field
该标志表示用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。
--time_partitioning_type
与
destination_table
标志搭配使用时,指定目标表的分区类型。可能的值包括DAY
、HOUR
、MONTH
或YEAR
。--udf_resource
此标志仅适用于旧版 SQL 查询。可指定 Cloud Storage URI 或要供旧版 SQL 查询使用的用户定义函数资源所在的本地文件的路径。重复使用此标志可以指定多个文件。
--use_cache
如果指定了此标志,系统会缓存查询结果。默认值为
true
。--use_legacy_sql
如果将此标志设置为
false
,系统会运行标准 SQL 查询。默认值为true
(使用旧版 SQL)。
bq remove-iam-policy-binding
remove-iam-policy-binding
命令只需一步,即可检索资源(表或视图)的 IAM 政策并从政策中移除绑定。
此命令是执行以下三个步骤的替代方法:
- 使用
get-iam-policy
命令检索政策文件(采用 JSON 格式) - 修改政策文件
- 使用
set-iam-policy
命令在不通过绑定的情况下更新政策
用法:
bq remove-iam-policy-binding --member="MEMBER" --role="ROLE" [-COMMAND_FLAGS] RESOURCE_IDENTIFIER
remove-iam-policy-binding
命令使用如下特定于命令的标志和参数。
--member
- IAM 政策绑定的成员部分。
--member
标志必须与--role
标志同时指定。--member
和--role
的一个组合等同于一个绑定。如需详细了解绑定,请参阅 IAM 政策参考文档。 --role
- IAM 政策绑定的角色部分。
--role
标志必须与--member
标志同时指定。--member
和--role
标志的一个组合等同于一个绑定。如需详细了解绑定,请参阅 IAM 政策参考文档。 -t --table/view
- 指定此标志时,系统会从表或视图的 IAM 政策中移除绑定。可选。默认值为
false
。
RESOURCE_IDENTIFIER 是要更新其政策的资源(表或视图)。
bq rm 命令
rm
命令会删除容量承诺、数据集、模型、预留、预留分配、表、转移作业配置或视图。
如需详细了解如何使用 rm
命令,请参阅:
rm
命令使用以下特定于命令的标志。
--capacity_commitment
- 指定此标志时,系统会删除容量承诺。默认值为
false
。 --dataset
或-d
- 指定此标志时,系统会删除数据集。默认值为
false
。 --force
或-f
- 指定此标志时,系统会删除表、视图、模型或数据集,而且不显示任何提示。默认值为
false
。 --model
或-m
- 指定此标志时,系统会删除 BigQuery 机器学习模型。
--recursive
或-r
- 指定此标志时,系统会删除数据集及其中的所有表、表数据或模型。默认值为
false
。 --reservation
- 指定此标志时,系统会删除预留。默认值为
false
。 --reservation_assignment
- 指定此标志时,系统会删除预留分配。默认值为
false
。 --table
或-t
- 指定此标志时,系统会删除表。默认值为
false
。 --transfer_config
- 指定此标志时,系统会删除转移配置。默认值为
false
。
bq set-iam-policy
set-iam-policy
命令用于设置(或更新)资源(表或视图)的 IAM 政策。设置政策后,新政策将打印到标准输出。此政策采用 JSON 格式。
更新后的政策中的 etag
字段必须与当前政策的 etag
值一致,否则更新将会失败。此功能可防止并发更新。
您可以使用 bq get-iam-policy
命令来获取当前政策和 etag
值。
如需详细了解 set-iam-policy
命令和示例,请参阅表访问权限控制简介。
用法:
bq get-iam-policy [-COMMAND_FLAG] RESOURCE_IDENTIFIER FILE_NAME
set-iam-policy
命令使用如下特定于命令的标志和参数。
-t --table/view
- 指定此标志时,系统会设置表或视图的 IAM 政策。可选。默认值为
false
。
RESOURCE_IDENTIFIER 是要更新其政策的资源(表或视图)。
FILE_NAME 是包含政策的 JSON 格式文件的名称。
bq show 命令
show
命令会显示有关一个对象的信息。
如需详细了解如何使用 show
命令,请参阅:
show
命令使用以下特定于命令的标志。
--assignee_id
- 与
reservation_assignment
标志搭配使用时,指定文件夹、组织或项目的 ID。使用--assignee_type
标志指定要显示的分配对象类型。 --assignee_type
- 与
reservation_assignment
标志搭配使用时,指定要显示的分配对象类型。以下各项中的一项:FOLDER
、ORGANIZATION
或PROJECT
。 --reservation
- 指定此标志时,系统会显示有关预留的信息。默认值为
false
。 --dataset
或-d
- 指定此标志时,系统会显示有关数据集的信息。默认值为
false
。 --encryption_service_account
- 指定此标志时,系统会显示用户的服务帐号(如果存在),如果不存在此服务帐号,则系统会创建一个。默认值为
false
。 --job
或-j
- 指定此标志时,系统会显示有关作业的信息。默认值为
false
。 --job_type
- 与
reservation_assignment
标志搭配使用时,指定要显示的作业预留分配类型。以下各项中的一项:QUERY
、PIPELINE
或ML_EXTERNAL
。 --model
或-m
- 指定此标志时,系统会显示有关 BigQuery 机器学习模型的信息。
--reservation
- 指定此标志时,系统会显示有关预留的信息。默认值为
false
。 --reservation_assignment
- 该标志会显示指定的文件夹、组织或项目的预留分配,并会显示目标资源的明确分配(如果有);否则显示继承自父级资源的分配。例如,项目可能会继承其父级文件夹中的分配。使用此标志时,系统会应用
--job_type
、--assignee_type
和--assignee_id
标志。 --schema
- 指定此标志时,系统仅显示表的架构。默认值为
false
。 --transfer_config
- 指定此标志时,系统会显示有关转移配置的信息。默认值为
false
。 --transfer_run
- 指定此标志时,系统会显示有关转移运行的信息。默认值为
false
。 --view
- 指定此标志时,系统会显示有关视图的信息。默认值为
false
。
bq update 命令
update
命令会更新容量承诺、数据集、模型、预留、预留分配、表、转移作业配置或视图。
如需详细了解如何使用 update
命令,请参阅:
update
命令使用以下特定于命令的标志。
--capacity_commitment
- 指定此标志时,系统会更新容量承诺。默认值为
false
。请将此标志与--merge
、--plan
、--renewal_plan
、--split
、--slots
标志搭配使用。 --clear_label
- 此标志移除一个使用
KEY:VALUE
的格式标签。 重复使用该标志可移除多个标签。 --dataset
或-d
- 此标志会更新数据集。默认值为
false
。 --default_kms_key
- 此标志设置用于加密数据集中的表数据的默认 Cloud KMS 密钥。如果未明确为创建或查询表提供密钥,则系统会使用默认密钥。
--default_partition_expiration
此标志表示一个整数,用于指定数据集中新创建的分区表中所有分区的默认到期时间(以秒为单位)。此标志没有最小值。
分区的到期时间设置为分区的世界协调时间 (UTC) 日期加上这个整数值。如果设置了该属性,则该属性将替换数据集级层的默认表到期时间(如果存在)。如果在创建或更新分区表时提供
--time_partitioning_expiration
标志,则表级层分区到期时间优先于数据集级层默认分区到期时间。如果指定0
,则系统会移除现有到期时间。--default_table_expiration
此标志表示一个整数,用于更新数据集中新创建的表的默认生命周期(以秒为单位)。到期时间设置为当前世界协调时间 (UTC) 加上此值。如果指定
0
,则系统会移除现有到期时间。--description
此标志会更新数据集、表、模型或视图的说明。
--destination_reservation_id
与
--reservation_assignment
标志搭配使用时,将现有预留分配移动到指定的预留。该值是目标预留的 ID。如需了解详情,请参阅将分配移动到其他预留。--display_name
此标志用于更新转移作业配置的显示名。默认值为
''
。--etag ETAG
仅当资源的 ETag 与
ETAG
参数中指定的字符串匹配时,才更新资源。--expiration
此标记表示一个整数,用于更新表、模型或视图的到期时间(以秒为单位)。如果指定
0
,系统会移除到期时间。--external_table_definition
此标志使用指定的表定义更新外部表。架构可以是本地 JSON 架构文件的路径,也可以是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE, FIELD:DATA_TYPE
。 提供表名称和架构时使用的格式为:TABLE::PATH_TO_FILE
或TABLE::SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
。--ignore_idle_slots
与
--reservation
标志搭配使用。如果为true
,则在指定预留中运行的作业将仅使用分配给该预留的槽。如果为false
,则指定预留中的作业可以使用其他预留中的空闲槽或未分配给任何预留的槽。默认值为false
。如需了解详情,请参阅空闲槽。--merge
与
--capacity_commitment
标志搭配使用时,合并两个容量承诺。默认值为false
。如需了解详情,请参阅合并两个承诺。--model
或-m
此标志会更新 BigQuery 机器学习模型的元数据。
--params
或-p
此标志用于更新传输配置的参数,以 JSON 格式表示:
{"PARAMETER":"VALUE"}
。根据数据源的不同,参数也会有所不同。如需了解详情,请参阅 BigQuery Data Transfer Service 简介。--plan
与
--capacity_commitment
标志搭配使用时,将容量承诺转换为期限较长的承诺方案。以下各项中的一项:FLEX
、MONTHLY
、ANNUAL
。默认值为''
。--refresh_window_days
此标志代表一个整数,用于指定某个转移作业配置的更新的刷新时段(以天为单位)。
--renewal_plan
与
--capacity_commitment
标志搭配使用时,为现有容量承诺指定续订方案。以下各项中的一项:FLEX
、MONTHLY
、ANNUAL
。默认值为''
。--reservation
指定此标志时,系统会更新预留。默认值为
false
。--reservation_assignment
指定此标志时,系统会更新预留分配。默认值为
false
。--schema
此标志表示本地 JSON 架构文件的路径,或者是一个以英文逗号分隔列表表示的列定义的路径,格式为
FIELD:DATA_TYPE,FIELD:DATA_TYPE
。 默认值为''
。--set_label
此标志表示要更新的标签,格式为
KEY:VALUE
。 重复使用该标志可更新多个标签。--slots
与
--capacity_commitment
和--split
标志搭配使用时,指定要从现有容量承诺拆分为新承诺的槽数。与--reservation
标志搭配使用时,更新预留中的槽数。--source
此标志表示包含更新资源时所用载荷的本地 JSON 文件的路径。例如,您可以使用此标志指定一个 JSON 文件,其中包含带有更新的
access
属性的数据集资源。该文件用于覆盖数据集的访问权限控制。--split
与
--capacity_commitment
标志搭配使用时,拆分现有容量承诺。默认值为false
。如需了解详情,请参阅拆分承诺。--table
或-t
指定此标志时,系统会更新表。默认值为
false
。--target_dataset
指定此标志时,系统会更新一个转移配置的目标数据集。默认值为
''
。--time_partitioning_expiration
此标志表示一个整数,用于更新应删除基于时间的分区的时间(以秒为单位)。到期时间以分区的世界协调时间 (UTC) 日期加上这个整数值为准。负数表示无到期时间。
--time_partitioning_field
使用此标志时,系统会更新用于确定如何创建基于时间的分区的字段。如果在未使用此值的情况下启用了基于时间的分区,表会根据加载时间进行分区。
--time_partitioning_type
指定分区类型。可能的值包括
DAY
、HOUR
、MONTH
或YEAR
。您无法更改现有表的分区类型。--transfer_config
指定此标志时,系统会更新转移作业配置。默认值为
false
。--update_credentials
指定此标志时,系统会更新转移配置凭据。默认值为
false
。--use_legacy_sql
将此标志设置为
false
时,系统会将视图的 SQL 查询从旧版 SQL 更新为标准 SQL。默认值为true
(使用旧版 SQL)。--view
指定此标志时,系统会更新视图的 SQL 查询。默认值为
''
。--view_udf_resource
使用此标志时,系统会更新本地代码文件的 Cloud Storage URI 或路径,该代码文件会被立即加载为用户指定函数资源并评估,以供视图的 SQL 查询使用。重复使用此标志可以指定多个文件。
bq wait 命令
wait
命令会等待特定秒数,以便作业完成。
wait
命令使用 --job_id
全局标志和以下特定于命令的标志。
SECONDS
- 一个大于等于 0 的整数,指定了等待时间(此值并非标志 - 您应在命令行中指定该整数)。如果输入了
0
,该命令会轮询作业完成情况,并立即返回。如果您没有指定整数值,该命令会始终等待。 --fail_on_error
- 指定此标志时,经过等待时间后,如果作业仍在运行,则系统会退出并返回一条错误,如果作业失败则终止。默认值为
true
。 --wait_for_status
指定此标志时,系统会等待出现特定作业状态之后再退出。可能的值包括:
PENDING
RUNNING
DONE
默认值为
DONE
。