工具:get_dataset_info
获取有关 BigQuery 数据集的元数据信息。
以下示例演示了如何使用 curl 调用 get_dataset_info MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://bigquery.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_dataset_info", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
数据集请求。
| JSON 表示法 |
|---|
{ "projectId": string, "datasetId": string } |
| 字段 | |
|---|---|
projectId |
必需。数据集请求的项目 ID。 |
datasetId |
必需。数据集请求的数据集 ID。 |
输出架构
表示 BigQuery 数据集。
| JSON 表示法 |
|---|
{ "kind": string, "etag": string, "id": string, "selfLink": string, "datasetReference": { object ( |
| 字段 | |
|---|---|
kind |
仅限输出。资源类型。 |
etag |
仅限输出。资源的哈希值。 |
id |
仅限输出。数据集的完全限定唯一名称,格式为 projectId:datasetId。不含项目名称的数据集名称在 datasetId 字段中提供。创建新数据集时,请将此字段留空,并改为指定 datasetId 字段。 |
selfLink |
仅限输出。可用于再次访问资源的网址。您可以在针对资源的 Get 或 Update 请求中使用此网址。 |
datasetReference |
必需。用于标识数据集的引用。 |
friendlyName |
可选。数据集的描述性名称。 |
description |
可选。数据集的简单易懂的说明。 |
defaultTableExpirationMs |
可选。数据集中所有表的默认生命周期(以毫秒为单位)。最小生命周期值为 3600000 毫秒(一小时)。如需通过 PATCH 请求清除现有的默认到期时间,请将其设置为 0。设置此属性后,数据集中所有新创建的表的 expirationTime 属性都将设置为创建时间加上此属性中的值,并且更改该值只会影响新表,而不会影响现有表。当给定表的 expirationTime 到达时,该表将被自动删除。如果表的 expirationTime 在表过期之前被修改或移除,或者您在创建表时提供了明确的 expirationTime,则该值优先于此属性指示的默认过期时间。 |
defaultPartitionExpirationMs |
此默认分区到期时间,以毫秒为单位表示。 如果数据集设置了此属性,则在该数据集中创建新的时间分区表时,该表将继承此值,并将其作为新表上的 创建分区表时,如果设置了 |
labels |
与相应数据集关联的标签。您可以使用这些功能来整理和分组数据集。您可以在插入或更新数据集时设置此属性。如需了解详情,请参阅创建和更新数据集标签。 包含一系列 |
access[] |
可选。一个对象数组,用于定义一个或多个实体的数据集访问权限。您可以在插入或更新数据集时设置此属性,以控制哪些人可以访问数据。如果在创建数据集时未指定,BigQuery 会为以下实体添加默认数据集访问权限:access.specialGroup: projectReaders;access.role: READER;access.specialGroup: projectWriters;access.role: WRITER;access.specialGroup: projectOwners;access.role: OWNER;access.userByEmail: [数据集创建者电子邮件地址];access.role: OWNER;如果您修补数据集,则此字段会被修补后数据集的 access 字段覆盖。如需添加实体,您必须提供整个现有访问权限数组,以及要添加的任何新实体。 |
creationTime |
仅限输出。相应数据集的创建时间,以自纪元开始算起的毫秒数表示。 |
lastModifiedTime |
仅限输出。相应数据集上次修改的日期(以自纪元以来经历的毫秒数表示)。 |
location |
数据集应所在的地理位置。如需查看支持的位置,请访问 https://cloud.google.com/bigquery/docs/locations。 |
defaultEncryptionConfiguration |
数据集中所有表的默认加密密钥。设置此属性后,除非表创建请求或查询明确替换了密钥,否则数据集中所有新创建的表的加密密钥都会设置为此值。 |
satisfiesPzs |
仅限输出。留待将来使用。 |
satisfiesPzi |
仅限输出。留待将来使用。 |
type |
仅限输出。与
|
linkedDatasetSource |
可选。当数据集类型为 LINKED 时,源数据集引用。对于所有其他数据集类型,该属性均未设置。此字段一经设置便无法更新。如果尝试使用 Update 和 Patch API 操作更新此字段,系统会忽略相应操作。 |
linkedDatasetMetadata |
仅限输出。有关 LinkedDataset 的元数据。当数据集类型为 LINKED 时填写。 |
externalDatasetReference |
可选。对 BigQuery 之外的数据目录中定义的只读外部数据集的引用。当数据集类型为 EXTERNAL 时填写。 |
externalCatalogDatasetOptions |
可选。用于定义 BigQuery 目录中与开源兼容的数据集的选项。包含当前数据集所表示的开源数据库、架构或命名空间的元数据。 |
isCaseInsensitive |
可选。如果数据集及其表名称不区分大小写,则为 TRUE,否则为 FALSE。默认值为 FALSE,这意味着数据集及其表名称区分大小写。此字段不会影响例程引用。 |
defaultCollation |
可选。定义在数据集中创建的未来表的默认排序规则规范。如果在此数据集中创建的表没有表级默认排序规则,则该表会继承数据集默认排序规则,该排序规则会应用于未明确指定排序规则的字符串字段。对此字段的更改只会影响之后创建的表,而不会更改现有表。支持以下值:
|
defaultRoundingMode |
可选。定义在此数据集中创建的新表的默认舍入模式规范。在创建表期间,如果指定了此字段,则相应数据集中的表将继承该数据集的默认舍入模式。对表设置默认舍入模式会替换此选项。数据集中的现有表格不会受到影响。如果在创建表期间定义了列,这些列将立即继承表的默认舍入模式,除非另有指定。 |
maxTimeTravelHours |
可选。以小时为单位定义时间旅行窗口。该值可以介于 48 小时到 168 小时(2 天到 7 天)之间。如果未设置,则默认值为 168 小时。 |
tags[] |
仅限输出。数据集的标记。如需提供标记作为输入,请使用 |
storageBillingModel |
可选。更新数据集的 storage_billing_model。 |
restrictions |
可选。仅限输出。所有表和数据集的限制配置。如果设置,则根据配置限制对数据集及其所有表的某些访问权限。如需了解详情,请参阅数据出站流量。 |
resourceTags |
可选。附加到相应数据集的标记。标记键是全局唯一的。标记键应采用命名空间格式,例如“123456789012/environment”,其中 123456789012 是相应标记键的父组织或项目资源的 ID。标记值应为简称,例如“生产环境”。如需了解详情,请参阅标记定义。 包含一系列 |
| JSON 表示法 |
|---|
{ "datasetId": string, "projectId": string, "datasetIdAlternative": [ string ], "projectIdAlternative": [ string ] } |
| 字段 | |
|---|---|
datasetId |
必需。此数据集的唯一 ID,不含项目名称。ID 只能包含字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。最大长度为 1,024 个字符。 |
projectId |
可选。包含此数据集的项目的 ID。 |
datasetIdAlternative[] |
不应使用此字段。 |
projectIdAlternative[] |
不应使用此字段。 |
| JSON 表示法 |
|---|
{ "value": string } |
| 字段 | |
|---|---|
value |
字符串值。 |
| JSON 表示法 |
|---|
{ "value": string } |
| 字段 | |
|---|---|
value |
int64 值。 |
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
| JSON 表示法 |
|---|
{ "role": string, "userByEmail": string, "groupByEmail": string, "domain": string, "specialGroup": string, "iamMember": string, "view": { object ( |
| 字段 | |
|---|---|
role |
应授予相应访问权限条目中指定的用户、群组或网域的 IAM 角色 ID。系统将应用以下旧版映射:
此字段将接受上述任何格式,但只会返回旧版格式。例如,如果您将此字段设置为“roles/bigquery.dataOwner”,系统会将其返回为“OWNER”。 |
userByEmail |
[选择一项] 要授予访问权限的用户的电子邮件地址。例如:fred@example.com。映射到 IAM 政策成员“user:EMAIL”或“serviceAccount:EMAIL”。 |
groupByEmail |
[选择一项] 要授予访问权限的 Google 群组的电子邮件地址。映射到 IAM 政策成员“group:GROUP”。 |
domain |
[选择一项] 要授予访问权限的网域。任何使用指定网域登录的用户都将获得指定的访问权限。示例:“example.com”。映射到 IAM 政策成员“domain:DOMAIN”。 |
specialGroup |
[选择一个] 要授予访问权限的特殊群组。可能的值包括:
映射到名称类似的 IAM 成员。 |
iamMember |
[选择一项] IAM 政策中显示的其他类型的成员,但不是用户、群组、网域或特殊群组。 |
view |
[选择一项] 要授予访问权限的其他数据集中的视图。针对该视图执行的查询将具有对此数据集中的视图/表/例程的读取权限。设置此字段时,角色字段不是必需的。如果该视图被任何用户更新,则需要通过更新操作重新授予对该视图的访问权限。 |
routine |
[选择一项] 要授予访问权限的其他数据集中的例程。针对相应例程执行的查询将具有对此数据集中的视图/表/例程的读取权限。目前仅支持 UDF。设置此字段时,角色字段不是必需的。如果任何用户更新了该例程,则需要通过更新操作再次授予对该例程的访问权限。 |
dataset |
[选择一项] 一项授权,用于授权特定数据集中的特定类型的所有资源访问相应数据集。目前仅支持视图。设置此字段时,角色字段不是必需的。如果该数据集被删除并重新创建,则需要通过更新操作再次授予其访问权限。 |
condition |
可选。绑定的条件。如果此字段中的 CEL 表达式为 true,则系统会考虑此访问权限绑定 |
| JSON 表示法 |
|---|
{ "projectId": string, "datasetId": string, "tableId": string, "projectIdAlternative": [ string ], "datasetIdAlternative": [ string ], "tableIdAlternative": [ string ] } |
| 字段 | |
|---|---|
projectId |
必需。包含相应表的项目的 ID。 |
datasetId |
必需。包含相应表的相应数据集的 ID。 |
tableId |
必需。表格的 ID。ID 可以包含类别 L(字母)、M(符号)、N(数字)、Pc(连接符,包括下划线)、Pd(短划线)和 Zs(空格)中的 Unicode 字符。如需了解详情,请参阅常规类别。最大长度为 1,024 个字符。某些操作允许在表 ID 后面添加分区修饰器,例如 |
projectIdAlternative[] |
不应使用此字段。 |
datasetIdAlternative[] |
不应使用此字段。 |
tableIdAlternative[] |
不应使用此字段。 |
| JSON 表示法 |
|---|
{ "projectId": string, "datasetId": string, "routineId": string } |
| 字段 | |
|---|---|
projectId |
必需。包含相应例程的项目的 ID。 |
datasetId |
必需。包含相应例程的数据集的 ID。 |
routineId |
必需。例程的 ID。ID 只能包含字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。长度上限为 256 个字符。 |
| JSON 表示法 |
|---|
{ "dataset": { object ( |
| 字段 | |
|---|---|
dataset |
相应条目所适用的数据集 |
targetTypes[] |
相应条目所适用的数据集中的资源。目前仅支持观看次数,但未来可能会添加其他目标类型。 |
| JSON 表示法 |
|---|
{ "expression": string, "title": string, "description": string, "location": string } |
| 字段 | |
|---|---|
expression |
采用通用表达式语言语法的表达式的文本表示法。 |
title |
可选。表达式的标题,即说明表达式用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。 |
description |
可选。表达式的说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。 |
location |
可选。此字符串指示用于错误报告的表达式的位置,例如文件名和文件中的位置。 |
| JSON 表示法 |
|---|
{ "kmsKeyName": string } |
| 字段 | |
|---|---|
kmsKeyName |
可选。描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务账号需要具有对相应加密密钥的访问权限。 |
| JSON 表示法 |
|---|
{ "value": boolean } |
| 字段 | |
|---|---|
value |
布尔值。 |
| JSON 表示法 |
|---|
{
"sourceDataset": {
object ( |
| 字段 | |
|---|---|
sourceDataset |
源数据集引用包含项目编号,而不是项目 ID。 |
| JSON 表示法 |
|---|
{
"linkState": enum ( |
| 字段 | |
|---|---|
linkState |
仅限输出。指定关联数据集当前是否处于关联状态。 |
| JSON 表示法 |
|---|
{ "externalSource": string, "connection": string } |
| 字段 | |
|---|---|
externalSource |
必需。支持相应数据集的外部来源。 |
connection |
必需。用于访问 external_source 的连接 ID。 格式:projects/{project_id}/locations/{location_id}/connections/{connection_id} |
| JSON 表示法 |
|---|
{ "parameters": { string: string, ... }, "defaultStorageLocationUri": string } |
| 字段 | |
|---|---|
parameters |
可选。一个键值对映射,用于定义开源架构的参数和属性。大小上限为 2MiB。 包含一系列 |
defaultStorageLocationUri |
可选。数据集中所有表的存储位置 URI。相当于 Hive Metastore 的 databaseLocationUri。长度上限为 1024 个字符。 |
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
| JSON 表示法 |
|---|
{ "tagKey": string, "tagValue": string } |
| 字段 | |
|---|---|
tagKey |
必需。标记键的命名空间友好名称,例如“12345/environment”,其中 12345 是组织 ID。 |
tagValue |
必需。标记值的易记简称,例如“production”。 |
| JSON 表示法 |
|---|
{
"type": enum ( |
| 字段 | |
|---|---|
type |
仅限输出。指定数据集/表限制的类型。 |
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
工具注释
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌