MCP Tools Reference: bigquery.googleapis.com

工具: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

string

必需。数据集请求的项目 ID。

datasetId

string

必需。数据集请求的数据集 ID。

输出架构

表示 BigQuery 数据集。

JSON 表示法
{
  "kind": string,
  "etag": string,
  "id": string,
  "selfLink": string,
  "datasetReference": {
    object (DatasetReference)
  },
  "friendlyName": string,
  "description": string,
  "defaultTableExpirationMs": string,
  "defaultPartitionExpirationMs": string,
  "labels": {
    string: string,
    ...
  },
  "access": [
    {
      object (Access)
    }
  ],
  "creationTime": string,
  "lastModifiedTime": string,
  "location": string,
  "defaultEncryptionConfiguration": {
    object (EncryptionConfiguration)
  },
  "satisfiesPzs": boolean,
  "satisfiesPzi": boolean,
  "type": string,
  "linkedDatasetSource": {
    object (LinkedDatasetSource)
  },
  "linkedDatasetMetadata": {
    object (LinkedDatasetMetadata)
  },
  "externalDatasetReference": {
    object (ExternalDatasetReference)
  },
  "externalCatalogDatasetOptions": {
    object (ExternalCatalogDatasetOptions)
  },
  "isCaseInsensitive": boolean,
  "defaultCollation": string,
  "defaultRoundingMode": enum (RoundingMode),
  "maxTimeTravelHours": string,
  "tags": [
    {
      object (GcpTag)
    }
  ],
  "storageBillingModel": enum (StorageBillingModel),
  "restrictions": {
    object (RestrictionConfig)
  },
  "resourceTags": {
    string: string,
    ...
  }
}
字段
kind

string

仅限输出。资源类型。

etag

string

仅限输出。资源的哈希值。

id

string

仅限输出。数据集的完全限定唯一名称,格式为 projectId:datasetId。不含项目名称的数据集名称在 datasetId 字段中提供。创建新数据集时,请将此字段留空,并改为指定 datasetId 字段。

selfLink

string

仅限输出。可用于再次访问资源的网址。您可以在针对资源的 Get 或 Update 请求中使用此网址。

datasetReference

object (DatasetReference)

必需。用于标识数据集的引用。

friendlyName

string

可选。数据集的描述性名称。

description

string

可选。数据集的简单易懂的说明。

defaultTableExpirationMs

string (Int64Value format)

可选。数据集中所有表的默认生命周期(以毫秒为单位)。最小生命周期值为 3600000 毫秒(一小时)。如需通过 PATCH 请求清除现有的默认到期时间,请将其设置为 0。设置此属性后,数据集中所有新创建的表的 expirationTime 属性都将设置为创建时间加上此属性中的值,并且更改该值只会影响新表,而不会影响现有表。当给定表的 expirationTime 到达时,该表将被自动删除。如果表的 expirationTime 在表过期之前被修改或移除,或者您在创建表时提供了明确的 expirationTime,则该值优先于此属性指示的默认过期时间。

defaultPartitionExpirationMs

string (Int64Value format)

此默认分区到期时间,以毫秒为单位表示。

如果数据集设置了此属性,则在该数据集中创建新的时间分区表时,该表将继承此值,并将其作为新表上的 TimePartitioning.expirationMs 属性进行传播。如果在创建表时明确设置了 TimePartitioning.expirationMs,则系统会忽略包含数据集的 defaultPartitionExpirationMs

创建分区表时,如果设置了 defaultPartitionExpirationMs,则系统会忽略 defaultTableExpirationMs 值,并且该表不会继承表过期截止时间。

labels

map (key: string, value: string)

与相应数据集关联的标签。您可以使用这些功能来整理和分组数据集。您可以在插入或更新数据集时设置此属性。如需了解详情,请参阅创建和更新数据集标签

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

access[]

object (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

string (int64 format)

仅限输出。相应数据集的创建时间,以自纪元开始算起的毫秒数表示。

lastModifiedTime

string (int64 format)

仅限输出。相应数据集上次修改的日期(以自纪元以来经历的毫秒数表示)。

location

string

数据集应所在的地理位置。如需查看支持的位置,请访问 https://cloud.google.com/bigquery/docs/locations

defaultEncryptionConfiguration

object (EncryptionConfiguration)

数据集中所有表的默认加密密钥。设置此属性后,除非表创建请求或查询明确替换了密钥,否则数据集中所有新创建的表的加密密钥都会设置为此值。

satisfiesPzs

boolean

仅限输出。留待将来使用。

satisfiesPzi

boolean

仅限输出。留待将来使用。

type

string

仅限输出。与 ListFormatDataset 中的 type 相同。数据集的类型,可以是以下类型之一:

  • DEFAULT - 仅可由所有者和授权账号访问,
  • 公开 - 所有人都能访问,
  • LINKED - 关联的数据集,
  • EXTERNAL - 在外部元数据目录中定义的数据集。
linkedDatasetSource

object (LinkedDatasetSource)

可选。当数据集类型为 LINKED 时,源数据集引用。对于所有其他数据集类型,该属性均未设置。此字段一经设置便无法更新。如果尝试使用 Update 和 Patch API 操作更新此字段,系统会忽略相应操作。

linkedDatasetMetadata

object (LinkedDatasetMetadata)

仅限输出。有关 LinkedDataset 的元数据。当数据集类型为 LINKED 时填写。

externalDatasetReference

object (ExternalDatasetReference)

可选。对 BigQuery 之外的数据目录中定义的只读外部数据集的引用。当数据集类型为 EXTERNAL 时填写。

externalCatalogDatasetOptions

object (ExternalCatalogDatasetOptions)

可选。用于定义 BigQuery 目录中与开源兼容的数据集的选项。包含当前数据集所表示的开源数据库、架构或命名空间的元数据。

isCaseInsensitive

boolean

可选。如果数据集及其表名称不区分大小写,则为 TRUE,否则为 FALSE。默认值为 FALSE,这意味着数据集及其表名称区分大小写。此字段不会影响例程引用。

defaultCollation

string

可选。定义在数据集中创建的未来表的默认排序规则规范。如果在此数据集中创建的表没有表级默认排序规则,则该表会继承数据集默认排序规则,该排序规则会应用于未明确指定排序规则的字符串字段。对此字段的更改只会影响之后创建的表,而不会更改现有表。支持以下值:

  • 'und:ci':未确定的语言区域,不区分大小写。
  • '':空字符串。默认区分大小写。
defaultRoundingMode

enum (RoundingMode)

可选。定义在此数据集中创建的新表的默认舍入模式规范。在创建表期间,如果指定了此字段,则相应数据集中的表将继承该数据集的默认舍入模式。对表设置默认舍入模式会替换此选项。数据集中的现有表格不会受到影响。如果在创建表期间定义了列,这些列将立即继承表的默认舍入模式,除非另有指定。

maxTimeTravelHours

string (Int64Value format)

可选。以小时为单位定义时间旅行窗口。该值可以介于 48 小时到 168 小时(2 天到 7 天)之间。如果未设置,则默认值为 168 小时。

tags[]
(deprecated)

object (GcpTag)

仅限输出。数据集的标记。如需提供标记作为输入,请使用 resourceTags 字段。

storageBillingModel

enum (StorageBillingModel)

可选。更新数据集的 storage_billing_model。

restrictions

object (RestrictionConfig)

可选。仅限输出。所有表和数据集的限制配置。如果设置,则根据配置限制对数据集及其所有表的某些访问权限。如需了解详情,请参阅数据出站流量

resourceTags

map (key: string, value: string)

可选。附加到相应数据集的标记。标记键是全局唯一的。标记键应采用命名空间格式,例如“123456789012/environment”,其中 123456789012 是相应标记键的父组织或项目资源的 ID。标记值应为简称,例如“生产环境”。如需了解详情,请参阅标记定义

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

JSON 表示法
{
  "datasetId": string,
  "projectId": string,
  "datasetIdAlternative": [
    string
  ],
  "projectIdAlternative": [
    string
  ]
}
字段
datasetId

string

必需。此数据集的唯一 ID,不含项目名称。ID 只能包含字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。最大长度为 1,024 个字符。

projectId

string

可选。包含此数据集的项目的 ID。

datasetIdAlternative[]

string

不应使用此字段。

projectIdAlternative[]

string

不应使用此字段。

JSON 表示法
{
  "value": string
}
字段
value

string

字符串值。

JSON 表示法
{
  "value": string
}
字段
value

string (int64 format)

int64 值。

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

JSON 表示法
{
  "role": string,
  "userByEmail": string,
  "groupByEmail": string,
  "domain": string,
  "specialGroup": string,
  "iamMember": string,
  "view": {
    object (TableReference)
  },
  "routine": {
    object (RoutineReference)
  },
  "dataset": {
    object (DatasetAccessEntry)
  },
  "condition": {
    object (google.type.Expr)
  }
}
字段
role

string

应授予相应访问权限条目中指定的用户、群组或网域的 IAM 角色 ID。系统将应用以下旧版映射:

  • OWNERroles/bigquery.dataOwner
  • WRITERroles/bigquery.dataEditor
  • READERroles/bigquery.dataViewer

此字段将接受上述任何格式,但只会返回旧版格式。例如,如果您将此字段设置为“roles/bigquery.dataOwner”,系统会将其返回为“OWNER”。

userByEmail

string

[选择一项] 要授予访问权限的用户的电子邮件地址。例如:fred@example.com。映射到 IAM 政策成员“user:EMAIL”或“serviceAccount:EMAIL”。

groupByEmail

string

[选择一项] 要授予访问权限的 Google 群组的电子邮件地址。映射到 IAM 政策成员“group:GROUP”。

domain

string

[选择一项] 要授予访问权限的网域。任何使用指定网域登录的用户都将获得指定的访问权限。示例:“example.com”。映射到 IAM 政策成员“domain:DOMAIN”。

specialGroup

string

[选择一个] 要授予访问权限的特殊群组。可能的值包括:

  • projectOwners:封闭项目的拥有者。
  • projectReaders:封闭项目的读取者。
  • projectWriters:封闭项目的写入者。
  • allAuthenticatedUsers:所有经过身份验证的 BigQuery 用户。

映射到名称类似的 IAM 成员。

iamMember

string

[选择一项] IAM 政策中显示的其他类型的成员,但不是用户、群组、网域或特殊群组。

view

object (TableReference)

[选择一项] 要授予访问权限的其他数据集中的视图。针对该视图执行的查询将具有对此数据集中的视图/表/例程的读取权限。设置此字段时,角色字段不是必需的。如果该视图被任何用户更新,则需要通过更新操作重新授予对该视图的访问权限。

routine

object (RoutineReference)

[选择一项] 要授予访问权限的其他数据集中的例程。针对相应例程执行的查询将具有对此数据集中的视图/表/例程的读取权限。目前仅支持 UDF。设置此字段时,角色字段不是必需的。如果任何用户更新了该例程,则需要通过更新操作再次授予对该例程的访问权限。

dataset

object (DatasetAccessEntry)

[选择一项] 一项授权,用于授权特定数据集中的特定类型的所有资源访问相应数据集。目前仅支持视图。设置此字段时,角色字段不是必需的。如果该数据集被删除并重新创建,则需要通过更新操作再次授予其访问权限。

condition

object (google.type.Expr)

可选。绑定的条件。如果此字段中的 CEL 表达式为 true,则系统会考虑此访问权限绑定

JSON 表示法
{
  "projectId": string,
  "datasetId": string,
  "tableId": string,
  "projectIdAlternative": [
    string
  ],
  "datasetIdAlternative": [
    string
  ],
  "tableIdAlternative": [
    string
  ]
}
字段
projectId

string

必需。包含相应表的项目的 ID。

datasetId

string

必需。包含相应表的相应数据集的 ID。

tableId

string

必需。表格的 ID。ID 可以包含类别 L(字母)、M(符号)、N(数字)、Pc(连接符,包括下划线)、Pd(短划线)和 Zs(空格)中的 Unicode 字符。如需了解详情,请参阅常规类别。最大长度为 1,024 个字符。某些操作允许在表 ID 后面添加分区修饰器,例如 sample_table$20190123

projectIdAlternative[]

string

不应使用此字段。

datasetIdAlternative[]

string

不应使用此字段。

tableIdAlternative[]

string

不应使用此字段。

JSON 表示法
{
  "projectId": string,
  "datasetId": string,
  "routineId": string
}
字段
projectId

string

必需。包含相应例程的项目的 ID。

datasetId

string

必需。包含相应例程的数据集的 ID。

routineId

string

必需。例程的 ID。ID 只能包含字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。长度上限为 256 个字符。

JSON 表示法
{
  "dataset": {
    object (DatasetReference)
  },
  "targetTypes": [
    enum (TargetType)
  ]
}
字段
dataset

object (DatasetReference)

相应条目所适用的数据集

targetTypes[]

enum (TargetType)

相应条目所适用的数据集中的资源。目前仅支持观看次数,但未来可能会添加其他目标类型。

JSON 表示法
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
字段
expression

string

采用通用表达式语言语法的表达式的文本表示法。

title

string

可选。表达式的标题,即说明表达式用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。

description

string

可选。表达式的说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。

location

string

可选。此字符串指示用于错误报告的表达式的位置,例如文件名和文件中的位置。

JSON 表示法
{
  "kmsKeyName": string
}
字段
kmsKeyName

string

可选。描述将用于保护目标 BigQuery 表的 Cloud KMS 加密密钥。与您的项目关联的 BigQuery 服务账号需要具有对相应加密密钥的访问权限。

JSON 表示法
{
  "value": boolean
}
字段
value

boolean

布尔值。

JSON 表示法
{
  "sourceDataset": {
    object (DatasetReference)
  }
}
字段
sourceDataset

object (DatasetReference)

源数据集引用包含项目编号,而不是项目 ID。

JSON 表示法
{
  "linkState": enum (LinkState)
}
字段
linkState

enum (LinkState)

仅限输出。指定关联数据集当前是否处于关联状态。

JSON 表示法
{
  "externalSource": string,
  "connection": string
}
字段
externalSource

string

必需。支持相应数据集的外部来源。

connection

string

必需。用于访问 external_source 的连接 ID。

格式:projects/{project_id}/locations/{location_id}/connections/{connection_id}

JSON 表示法
{
  "parameters": {
    string: string,
    ...
  },
  "defaultStorageLocationUri": string
}
字段
parameters

map (key: string, value: string)

可选。一个键值对映射,用于定义开源架构的参数和属性。大小上限为 2MiB。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

defaultStorageLocationUri

string

可选。数据集中所有表的存储位置 URI。相当于 Hive Metastore 的 databaseLocationUri。长度上限为 1024 个字符。

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

JSON 表示法
{
  "tagKey": string,
  "tagValue": string
}
字段
tagKey

string

必需。标记键的命名空间友好名称,例如“12345/environment”,其中 12345 是组织 ID。

tagValue

string

必需。标记值的易记简称,例如“production”。

JSON 表示法
{
  "type": enum (RestrictionType)
}
字段
type

enum (RestrictionType)

仅限输出。指定数据集/表限制的类型。

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

工具注释

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌